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

Reply via email to