Andres, Does the table-cell-index object attribute solve your issue?  FF
provides this attribute.  It is described at
http://accessibility.freestandards.org/a11yspecs/ia2/docs/html/interface_i_accessible_table.html#_details
The text from that is repeated in the following two paragraphs:

Typically all accessible objects that represent cells or cell-clusters
of a table will be at the same time children of the table. In this case
IAccessible2::indexInParent will return the child index which then can
be used when calling IAccessibleTable::rowIndex and
IAccessibleTable::columnIndex.

However, in some cases that kind of implementation will not be possible.
When the table cells are not direct children of a table, the object
representing the cell can define a "table-cell-index" object attribute
identifying the 0 based table cell index. This object attribute is
obtained by parsing the attribute string returned by
IAccessible2::attributes. The "table-cell-index" attribute can be used
just like a child index of the typical case. ATs should first test for
the presence of the "table-cell-index" attribute and if it is not
present then IAccessible2::indexInParent can be used as in the typical
case where cells are direct children of the table.

Andres Gonzalez wrote:
> I think a (column,row) coordinate, as Pete had it before, makes more
> sense. This idea of a cell index that we currently use in some methods
> is a disturbing one. It presumes an array-like implementation for the
> table objects. Otherwise converting cell indexes to (column,row)
> coordinates back and forward can be expensive.
> --Andres.
>  
>  
>
>     ------------------------------------------------------------------------
>     *From:* [email protected]
>     [mailto:[email protected]] *On
>     Behalf Of *Pete Brunet
>     *Sent:* Tuesday, June 23, 2009 7:40 PM
>     *To:* IA2 List
>     *Subject:* Re: [Accessibility-ia2] rowHeader/columnHeader
>     implementationproposal
>
>     Here's the update:
>
>     HRESULT IAccessibleTable::columnHeaderList(
>       [in] long cellIndex,
>       [in] long maxColumnHeaders,
>       [out, size_is(maxColumnHeaders), length_is(*nColumnHeaders)]
>         IUnknown ** columnHeaders,
>       [out, retval] long * nColumnHeaders
>     )
>
>     HRESULT IAccessibleTable::rowHeaderList(
>       [in] long cellIndex,
>       [in] long maxRowHeaders,
>       [out, size_is(maxRowHeaders), length_is(*nRowHeaders)]
>         IUnknown ** rowHeaders,
>       [out, retval] long * nRowHeaders
>     )
>
>
>     James Teh wrote:
>>     On 24/06/2009 12:19 PM, Pete Brunet wrote:
>>       
>>>>     Why not use the cell index, which specifies both row and column? Or am 
>>>> I
>>>>     missing something here?
>>>>           
>>>     That would work too.  Is that preferable?
>>>         
>>     To be honest, I don't really mind. However, other table methods seem to 
>>     take a cell index, so it's probably more consistent. It also saves 
>>     calling columnIndex/rowIndex unnecessarily.
>>
>>       
>
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2

Reply via email to