I don't think we need it, but want to check... The old row/columnHeader method returned which column/row index that the header started at. Presently that is not in the IATable2 equivalent.
In cases where headers are not at the top or left or when there are multiple sets of headers I think it's better for the app to decide which header cells are meaningful for a given cell and I don't think the starting index is useful. Pete -- Pete Brunet wrote: > Since cell indexes are no longer used we can get rid of the > "table-cell-index" object attribute, at least when IATable is > eventually removed from implementations in favor of IATable2. > > Pete > -- > Pete Brunet wrote: >> I'm going to change IUknown ***pppAccessible to IUnknown >> ***papAccessible, i.e. use the Hugarian prefix of pap instead of ppp >> to make it clear that the variable is a pointer to an array of pointers. >> >> Pete Brunet wrote: >>> There is a small typo in note d, i.e **long, instead of long **. >>> Here it is again with that fixed: >>> >>> d) The prior notation was long **varname and is now IUnknown >>> ***pppAccessible, i.e. the pointer to an array of longs has been >>> replaced by a pointer to an array of *IUnknowns. >>> >>> Pete >>> -- >>> Pete Brunet wrote: >>>> Here's an updated proposal for IAccessibleTable2: >>>> >>>> 1) Remove childIndex >>>> >>>> 2) Rename nSelectedChildren to nSelectedCells >>>> >>>> 3) Rename/redefinition of selectedChildren to use a reference to an >>>> accessible instead of a cell index and to remove the unused max >>>> [in] parameter. See notes c, d, and e below. >>>> >>>> HRESULT selectedCells ( >>>> [out, size_is( , *nSelectedCells , )] IUnknown ***pppAccessible, >>>> [out, retval] long *nSelectedCells >>>> ) >>>> >>>> 4) Redefinition of columnIndex to use a reference to an accessible >>>> instead of a cell index: >>>> >>>> HRESULT columnIndex ( >>>> [in] IUnknown *pAccessible, >>>> [out, retval] long *columnIndex >>>> ) >>>> >>>> 5) Redefinition of rowIndex to use a reference to an accessible >>>> instead of a cell index: >>>> >>>> HRESULT rowIndex ( >>>> [in] IUnknown *pAccessible, >>>> [out, retval] long *rowIndex >>>> ) >>>> >>>> 6) Redefinition of rowColumnExtentsAtIndex to use a reference to an >>>> accessible instead of a cell index. >>>> >>>> HRESULT rowColumnExtentsAtIndex ( >>>> [in] IUnknown *pAccessible, >>>> [out] long *row, >>>> [out] long *column, >>>> [out] long *rowExtents, >>>> [out] long *columnExtents, >>>> [out, retval] boolean *isSelected >>>> ) >>>> >>>> 7) Redefinition of columnExtentAt to use a reference to an >>>> accessible instead of row and column. Also see note b below. >>>> >>>> HRESULT columnExtentAt ( >>>> [in] IUnknown *pAccessible, >>>> [out, retval] long *nColumnsSpanned >>>> ) >>>> >>>> 8) Redefinition of rowExtentAt to use a reference to an accessible >>>> instead of row and column. Also see note b below. >>>> >>>> HRESULT rowExtentAt ( >>>> [in] IUnknown *pAccessible, >>>> [out, retval] long *nRowsSpanned >>>> ) >>>> >>>> 9) Redefinition of isSelected to use a reference to an accessible >>>> instead of row and column. Also see note b below. >>>> >>>> HRESULT isSelected ( >>>> [in] IUnknown *pAccessible, >>>> [out, retval] boolean *isSelected) >>>> >>>> 10) Add new means of getting row headers. Also see notes b, d, and >>>> e below. >>>> >>>> HRESULT rowHeaderCells( >>>> [in] IUnknown *pAccessible, >>>> [out, size_is( , *nRowHeaderCells , )] IUnknown ***pppAccessible, >>>> [out, retval] long * nRowHeaderCells >>>> ) >>>> >>>> 11) Add new means of getting column headers. Also see notes b, d, >>>> and e below. >>>> >>>> HRESULT columnHeaderCells( >>>> [in] IUnknown *pAccessible, >>>> [out, size_is( , *nColumnHeaderCells , )] IUnknown ***pppAccessible, >>>> [out, retval] long * nColumnHeaderCells >>>> ) >>>> >>>> 12) Fix the array definition of selectedColumns to remove the >>>> unused max [in] parameter. See notes c and e below. >>>> >>>> HRESULT selectedColumns ( >>>> [out, size_is( , *nColumns)] long **ppColumnIndex, >>>> [out, retval] long *nColumns >>>> ) >>>> >>>> 13) Fix the array definition of selectedRows to remove the unused >>>> max [in] parameter. See notes c and e below. >>>> >>>> HRESULT selectedRows ( >>>> [out, size_is( , *nRows)] long **ppRowIndex, >>>> [out, retval] long *nRows >>>> ) >>>> >>>> 14) Add the following note regarding the behavior of selectRow, >>>> unselectRow, selectColumn, and unselectColumn. Also see note g. >>>> >>>> a) For selectRow: When selecting a row and one of the cells in the >>>> row spans multiple rows, all the rows that are spanned by the >>>> spanning cell will be included in the selection. All other rows >>>> will be unselected. >>>> b) A similar note will be added to unselectRow, selectColumn, and >>>> unselectColumn. >>>> >>>> Notes: >>>> >>>> a) accessibleAt was not renamed. >>>> >>>> b) accessibleAt can be used to provide an accessible if the AT's >>>> GUI only provides row and column indexes. >>>> >>>> c) Removed the unused max [in] parameter from selectedCells, >>>> selectedColumns, and selectedRows. I'll have to update the comment at: >>>> http://accessibility.freestandards.org/a11yspecs/ia2/docs/html/_generalinfo.html#_arrayConsideration >>>> >>>> d) The prior notation was **long and is now IUnknown >>>> ***pppAccessible, i.e. the pointer to an array of longs has been >>>> replaced by a pointer to an array of *IUnknowns. >>>> >>>> e) This size_is notation specifies a pointer to an array of >>>> pointers. The second pointer in the series of pointers can be >>>> incremented a finite number of times, as specified by the second >>>> value in the list, to access the pointers held in the array. For >>>> more information see the fifth and seventh examples at: >>>> http://msdn.microsoft.com/en-us/library/aa367164%28VS.85%29.aspx >>>> or this Microsoft System Journal article by Don Box: >>>> http://www.microsoft.com/msj/1196/activex1196.aspx >>>> >>>> f) Pending discussion of whether the old rowHeader and columnHeader >>>> should be removed. These are the methods that return a table >>>> instead of an array of cells. >>>> >>>> g) Pending the following discussion: This behavior is modeled on >>>> that of Excel. The behavior needs to be specified for the case, >>>> such as Firefox, where there is no GUI. In the case where there is >>>> GUI behavior and the GUI behavior is different than Excel (and the >>>> IA2 spec), e.g. MS Word, OOo, and Symphony, should the behavior be >>>> allow to divert from the specification to match that of the GUI? >>>> >>>> -- >>>> *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 >>>> >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> Accessibility-ia2 mailing list >>> [email protected] >>> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2 >>> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Accessibility-ia2 mailing list >> [email protected] >> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2 >> > ------------------------------------------------------------------------ > > _______________________________________________ > 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
