Alex, That makes sense, but I'd like to hear comments from others on the
list.  -Pete

Alexander Surkov wrote:
> Hi, Pete.
>
> 1) "return a copy" case.
> AT should be able to change state of the cell because this is allowed
> by IAccessibleTable interface (for example, select cells). If spec
> deprecates something then spec should point what exactly it is
> deprecated and the client behaviour if these rules are boken by AT.
> But I don't think deprecation is good. So in the case of virtual cells
> for virtual table header accessible we could create small accessible
> tree: virtual table header -> virtual table row -> virtual table cells
> that is not linked with main tree. If AT change states of virtual
> table cells then it should affect on real table cells I think.
>
> 2) "return a real cell object" case.
> We could think to override accessible properties of real cell object
> to fit them into needs of virtual table header accessible (like
> table-cell-index object attribute and IAccessible::get_parent). But
> this may confuse. If AT doesn't use this table headers for some reason
> then it will break table accessibility entirely.
>
> So, I would choose "virtual cell objects affecting on real cell
> objects" approach. What do you think?
>
> Alex.
>
>
> On Thu, May 14, 2009 at 11:12 PM, Pete Brunet <[email protected]> wrote:
>   
>> Hi Alex, It is a little tricky isn't it.
>>
>> 1) I think it's OK to return either the same cell as is in the primary
>> table, but a copy should be OK too.  In the latter case, hopefully the AT
>> wouldn't want to manipulate the accessible with any of the methods that
>> cause a state change thinking the cell in the primary table would change.
>> (Maybe I need to talk about this in the spec.)
>>
>> 2) I would think the AT would know it's dealing with a separate table, i.e.
>> the table of headers, not the full table so I'd return the index in the
>> table of headers, not the full table.
>>
>> Pete
>>
>> Alexander Surkov wrote:
>>
>> Hi, Pete. It's ok. Never mind.
>>
>> In this case primary table and header table can return the same cell
>> accessible on IATable::accessibleAt (of couse on different row and
>> column). Right? What should "table-cell-index" object attribute
>> (exposed on cell accessible) return: index in primary or header table?
>>
>> Alex.
>>
>>
>> On Thu, May 14, 2009 at 9:23 PM, Pete Brunet <[email protected]> wrote:
>>
>>
>> Alex, Sorry for the delay - the new job is keeping me busy.
>>
>> It seems IATable is sufficient.  There is IATable::accessibleAt which would
>> allow access to the details of each cell.  The implementation could in turn
>> access the information from the primary table.
>>
>> Pete
>>
>> Alexander Surkov wrote:
>>
>> Pete, I'll try to formulate my question more precisely. You said
>> "table would have to be generated dynamically (or kept separately and
>> provided as needed)". Ok, what interfaces should implement this table
>> object? I can see two choices:
>> 1) IAccessibleTable only
>> 2) IAccessibleTable + IAccessible/IAccessible2
>>
>> Alex.
>>
>>
>> On Thu, May 7, 2009 at 9:34 PM, Pete Brunet <[email protected]> wrote:
>>
>>
>> Alex,
>>
>> I'm not following this question about accessible trees.  Please provide more
>> detail.
>>
>> Row/column headers are aren't children of the table, they are part of the
>> table (usually the first row/col), but when the IA2 call is made to get the
>> headers a table would have to be generated dynamically (or kept separately
>> and provided as needed).
>>
>> I don't think you can implement row/column descriptions with HTML, but I
>> assume you could with WAI-ARIA using a relation.
>>
>> Pete
>>
>> Alexander Surkov wrote:
>>
>> Hi, Pete.
>>
>> 1. "the table of row headers and the table of column headers would be
>> kept as objects separate from the primary table". How may accessible
>> tree look? Does it mean tables of row/column headers isn't a child of
>> primary table accessible? If so how will row/column headers tables
>> share children (rows and cells) with primary table? Otherwise
>> row/column headers tables should implement IAccessibleTable interface
>> only. How are such tables useful in this case?
>>
>> 2. Can you bring an example how column/row description can be
>> specified? It would be great to get HTML or ARIA example.
>>
>> Alex.
>>
>>
>> On Sat, Apr 25, 2009 at 12:27 PM, Pete Brunet <[email protected]> wrote:
>>
>>
>> Alex,
>>
>> Neither IATable::modelChange nor object attributes are good for out of
>> process AT.  We could solve this for IA2 v2 by inventing a new event
>> system.  I'd leave the values until the next time the event is fired.
>>
>> My understanding is the table of row headers and the table of column headers
>> would be kept as objects separate from the primary table.  The text you have
>> specified as "caption" would be returned in the text of the single cell of
>> the returned table of column headers.  There is no column description in
>> this case.  If there was one, it would be a separate text object describing
>> the column.
>>
>> Pete
>>
>> Alexander Surkov wrote:
>>
>> Hi, Pete.
>>
>> What's the difference between IATable::modelChange and object
>> attributes for out-process AT? If we'll start to expose object
>> attributes then should set their values before we fire event but when
>> we need to drop their values?
>>
>> If I have
>>
>> <table>
>>   <tr>
>>     <th>caption1</th>
>>   </tr>
>>   <tr>
>>     <td>cell1</td>
>>   </tr>
>> </table>
>>
>> then the first tr element should implement IAccessibleTable, text of
>> th element is COLUMN header description, the first tr element is ROW
>> header. Or?
>>
>> Alex.
>>
>>
>> On Sat, Apr 25, 2009 at 11:09 AM, Pete Brunet <[email protected]> wrote:
>>
>>
>> Alexander,
>>
>> The table would fire the IA2_EVENT_TABLE_* events.
>>
>> I see there is a problem with the four row/column events, i.e.
>> IA2_EVENT_TABLE_ROW/COLUMN_DESCRIPTION/HEADER_CHANGED, because you don't
>> know which row/column changed.  This is due to the fact that the concepts
>> were taken from OpenOffice/Linux where the row/column is provided in an
>> event object.  At least for in-process AT we solved the problem for
>> MODEL_CHANGED with IATable::modelChange.  How about if we add some
>> additional object attributes to the table such as
>> row-description-changed-index, column-description-changed-index,
>> row-header-changed-index, and column-header-changed-index?
>>
>> Row/column headers are a subset of cells in the table.  For
>> ROW/COLUMN_HEADER_CHANGED, IATable::row/columnHeader returns the entire set
>> (a table) of row/column headers.
>>
>> Row/column descriptions are text objects (one per row/column) and they are
>> separate from the table object.  For ROW/COLUMN_DESCRIPTION_CHANGED,
>> IATable::row/columnDescription is used.
>>
>> Pete
>>
>> Alexander Surkov wrote:
>>
>> Hi.
>>
>> 1. IA2 proposes couple of events started with IA2_EVENT_TABLE_ prefix
>> (like IA2_EVENT_TABLE_CAPTION_CHANGED). I assume events target is
>> table, i.e. accessible implementing IAccessible interface. Is it
>> correct?
>>
>> 2. What's difference between row description and row header? IA2
>> suggests different events for this
>> (IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED and
>> IA2_EVENT_TABLE_ROW_HEADER_
>> CHANGED) and IAccessibleTable has different
>> mehtods (rowDescription returning BSTR and rowHeader returning
>> accessible).
>>
>> Thank you.
>> Alex.
>> _______________________________________________
>> Accessibility-ia2 mailing list
>> [email protected]
>> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
>>
>>
>>
>>
>> --
>> Pete Brunet
>>
>> a11ysoft - Accessibility Architecture and Development
>> (512) 238-6967
>> pete @ a11ysoft.com
>> http://www.a11ysoft.com/about/
>> http://www.linkedin.com/in/petebrunet
>> Ionosphere: WS4G
>>
>> _______________________________________________
>> Accessibility-ia2 mailing list
>> [email protected]
>> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
>>
>>
>>
>>
>>
>>
>> --
>> Pete Brunet
>>
>> a11ysoft - Accessibility Architecture and Development
>> (512) 238-6967
>> pete @ a11ysoft.com
>> http://www.a11ysoft.com/about/
>> http://www.linkedin.com/in/petebrunet
>> Ionosphere: WS4G
>>
>> _______________________________________________
>> Accessibility-ia2 mailing list
>> [email protected]
>> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
>>
>>
>>
>>
>>
>>
>> --
>> Pete Brunet
>>
>> a11ysoft - Accessibility Architecture and Development
>> (512) 238-6967
>> pete @ a11ysoft.com
>> http://www.a11ysoft.com/about/
>> http://www.linkedin.com/in/petebrunet
>> Ionosphere: WS4G
>>
>> _______________________________________________
>> Accessibility-ia2 mailing list
>> [email protected]
>> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
>>
>>
>>
>>
>>
>>
>> --
>> Pete Brunet
>>
>> a11ysoft - Accessibility Architecture and Development
>> (512) 238-6967
>> pete @ a11ysoft.com
>> http://www.a11ysoft.com/about/
>> http://www.linkedin.com/in/petebrunet
>> Ionosphere: WS4G
>>
>> _______________________________________________
>> Accessibility-ia2 mailing list
>> [email protected]
>> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
>>
>>
>>
>>
>>
>>
>> --
>> Pete Brunet
>>
>> a11ysoft - Accessibility Architecture and Development
>> (512) 238-6967
>> pete @ a11ysoft.com
>> http://www.a11ysoft.com/about/
>> http://www.linkedin.com/in/petebrunet
>> Ionosphere: WS4G
>>
>> _______________________________________________
>> Accessibility-ia2 mailing list
>> [email protected]
>> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
>>
>>
>>     
>
>
>   

-- 
*Pete Brunet*
                                                               
a11ysoft - Accessibility Architecture and Development
(512) 238-6967
pete @ a11ysoft.com
http://www.a11ysoft.com/about/
http://www.linkedin.com/in/petebrunet
Ionosphere: WS4G
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2

Reply via email to