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
