Thanks Jamie, That was very helpful. Here is the modified proposal then: A new IA2_2 method: HRESULT isNameFromAncillaryText([out, retval] boolean* isFromAncillaryText);
With a short description of Indicates that a content author has provided ancillary text in addition to the primary text of an object and that the server has chosen to use that ancillary text for this object's accessible name. and a longer description of: Indicates that a content author has provided ancillary text in addition to the primary text of an object and that the server has chosen to use that ancillary text for this object's accessible name. An object's accessible name is typically is taken directly from the object's textual content and is equivalent to what is provided by IAccessibleText::text. In some cases the server may have access to additional text associated with the object that may be more meaningful for assistive technology users. This property is set to true when the server has chosen to use ancillary text rather than the accessible's primary textual content when generating the accessible name. Some examples that could be seen in an IAccessible2 implementation of a web browser are: 1) <a href="http://www.adomain.com">content</a> In this case the accessible name will be "content" and isFromAncillaryText will be false. 2) <a href="http://www.adomain.com" title="a title">content</a> If the title text is used for the accessible name, isFromAncillaryText will be true. 3) <a href="http://www.adomain.com" aria-label="a label">content</a> If the aria-label text is used for accessible name, isFromAncillaryText will be true. 4) <div id="label">a label</div><div role="radio" aria-labelledby="label">content</div> If the label text is used for the accessible name, isFromAncillaryText will be true. If this method returns true assistive technology may choose to present the user with the accessible name rather than the text from IAccessibleText::text. If anyone would like changes to the above, please let me know. Thanks, Pete On 7/25/2011 5:36 PM, James Teh wrote: > On 26/07/2011 2:06 AM, Pete Brunet wrote: >> Thanks Jamie, If both the accName and IAText::text are not helpful in >> this case then it appears that we need IA2_2::explicitName rather than a >> boolean property like IA2_2::isNameExplicit. > You misunderstand me. Allow me to summarise: > 1. We usually want to use IAccessibleText, as it gives us more > information and keeps us closer to the content. > 2. However, if the author has explicitly indicated that the content > should be overridden for ATs (e.g. using aria-label), we want to use > accName instead. > 3. Unfortunately, we can't do (2) because we have no idea *when* the > name has been explicitly overridden by the author. > 4. Thus, the flag is enough. > 4.1. If the flag indicates the name has been explicitly overridden, > we'll use accName as per (2). > 4.2. If not, we'll use IAccessibleText as per (1). > 5. In the case of (4.1), text attributes don't matter. The author > provided a name without formatting, so we'll just use it. > > Jamie > -- *Pete Brunet* a11ysoft - Accessibility Architecture and Development (512) 467-4706 (work), (512) 689-4155 (cell) Skype: pete.brunet IM: ptbrunet (AOL, Google), [email protected] (MSN) http://www.a11ysoft.com/about/ Ionosphere: WS4G
_______________________________________________ Accessibility-ia2 mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
