Please review the following...

Thanks to Carolyn who is implementing IA2 in Eclipse I believe the
following changes need to be made in next update to the spec.

1) IAccessibleHypertext::hyperlinkIndex
        Change:
                E_INVALIDARG  if bad [in] passed, [out] value is NULL
        To:
                E_INVALIDARG  if bad [in] passed, [out] value is -1
        Because:
                Setting the pointer to NULL does not make sense in
pass-by-reference world.

2) IAccessibleText::offsetAtPoint
        Change:
                E_INVALIDARG  if bad [in] passed, [out] value is 0
        To:
                E_INVALIDARG  if bad [in] passed, [out] value is -1
        Because:
                0 is a valid value for the offset, and AT that cannot
get the HRESULT will not be able to distinguish between S_OK and
E_INVALIDARG.
        Add:
                S_FALSE  if nothing to return, [out] value is -1
        Because:
                The [in] values could all be valid, but x and y could
specify a valid screen position but not one associated with a caret offset.

3) IAccessibleText::selection
        Change:
                S_FALSE         if there is nothing to return, [out]
values are 0s
                E_INVALIDARG         if bad [in] passed, [out] values
are 0s
        To:
                S_FALSE         if there is nothing to return, [out]
values are -1s
                E_INVALIDARG         if bad [in] passed, [out] values
are -1s
        Because:
                0,0 is a valid value for the selection (i.e. the caret
is before the first character), and AT that cannot get the HRESULT will
not be able to distinguish between S_OK and S_FALSE/E_INVALIDARG.

4) IAccessible2::groupPosition
        Change:
                S_FALSE         if no values are valid
        To:
                S_FALSE         if no values are valid, [out] values are 0s
        Because:
                Although it can be determined from reading the parameter
specs, this should probably be stated with the return value as well, for
consistency and completeness.

5) IAccessibleHyperlink::anchor and IAccessibleHyperlink::anchorTarget
        Change:
                S_FALSE         if there is nothing to return, [out]
value is NULL
                E_INVALIDARG         if bad [in] passed, [out] value is
NULL
        To:
                S_FALSE         if there is nothing to return, [out]
value is a VARIANT with vt = VT_EMPTY
                E_INVALIDARG         if bad [in] passed, [out] value is
a VARIANT with vt = VT_EMPTY
        Because:
                The AT's will expect to see an "empty variant", not
NULL. http://msdn.microsoft.com/en-us/library/dd373687(VS.85).aspx
<http://msdn.microsoft.com/en-us/library/dd373687%28VS.85%29.aspx>

6) IAccessibleValue::currentValue
        Change:
                S_FALSE         if there is nothing to return, [out]
value is NULL
        To:
                S_FALSE         if there is nothing to return, [out]
value is a VARIANT with vt = VT_EMPTY
        Because:
                The AT's will expect to see an "empty variant", not NULL.

7) IAccessibleValue::maximumValue and IAccessibleValue::minimumValue
        Add:
                S_FALSE         if there is nothing to return, [out]
value is a VARIANT with vt = VT_EMPTY
        Because:
                This should be consistent with
IAccessibleValue::currentValue.

Also modify the general note about variants slightly to mention
VT_EMPTY:
http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/_generalinfo.html#_variants


8) IAccessibleText::oldText and newText
       Change:
               S_FALSE      if there is nothing to return, [out] value
is NULL
       To:
               S_FALSE      if there is nothing to return, the values of
IA2TextSegment struct are set as follows:  text = NULL, start = 0, end = 0.
       Because:
               Setting the [out] pointer to NULL does not make sense in
pass-by-reference world.
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2

Reply via email to