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

Reply via email to