- From: Joseph Scheuhammer <clown@alum.mit.edu>
- Date: Mon, 17 Nov 2014 00:07:37 -0500
- To: Alexander Surkov <surkov.alexander@gmail.com>, Dominic Mazzoni <dmazzoni@google.com>
- CC: W3C WAI Protocols & Formats <public-pfwg@w3.org>, W3C WAI-PFWG <w3c-wai-pf@w3.org>
Hi Dominic, Thanks for your comments. Replies inline, below. On 2014-11-07 2:55 PM, Alexander Surkov wrote: > > > On Fri, Nov 7, 2014 at 2:43 PM, Dominic Mazzoni <dmazzoni@google.com > <mailto:dmazzoni@google.com>> wrote: > > Thanks for taking this on! It's great to have the accessible name > and description calculation in the form of an algorithm. > > Here's some initial feedback: > > (1) F.iii: You shouldn't always append spaces when concatenating > the text alternatives of children. As an example: > > <label> > <input type="checkbox"> > Make this the <em>top</em>most element > </label> > > The correct accessible text is "Make this the topmost element", > not "Make this the top most element". Similarly for the :before > and :after pseudoclasses - they're appended with no whitespace. > > I'm not sure how to resolve this, but as a first stab, how about: > do not add extra whitespace when the previous and next elements > are both inline and their text both comes from contents. > > > I don't recall what we do in Firefox but I agree that space should not > be required for inline text elements. So for example if that was a > button surrounded by text then spaces would be still needed. I think I > would word it flexible until we are confident we considered all scenarios. I agree as well. I'll replace the definition of "Append the result to X" with two new definitions: "Prepend/append the result to X with a space" and "Prepend/append the result to X without a space", and then indicate where the two apply. > > > (2) In the mapping table for aria-labelledby: should talk about > "referenced objects", not a single "referenced object". Should > explain what to do if some of the referenced objects are visible > and others are not. > I'll reword it. Using MSAA+IA2 as an example: "If the referenced objects are in the accessibility tree expose pointers to them using |IA2_RELATION_LABELLED_BY| and expose reverse relations as described in Relations." Regarding invisibility, that's what the antecedant "If the referenced objects are in the accessiblity tree ..." is meant to cover. > > (3) The algorithm is incomplete for AXAPI. The text alternative > algorithm gives explicit instructions on how to construct a > string, and then the mapping table says to map that to AXTitle or > AXDescription. The current behavior of Safari is to expose the > visible text in AXTitle and ALSO the alternative text in > AXDescription, so for example <button > aria-label="Bar">Foo</button> would get an AXTitle of "Foo" and > AXDescription of "Bar". The algorithm should handle that case, > unless the Apple folks specifically want to change it. > When I ran your <button> example in Safari, the Inspector app showed AXTitle as empty, and AXDescription as "Foo", which is what the accessible name row of the mapping table states for AXAPI. I used Safari 6.2/OS X 10.8.5. > > (4) I'm not sure it does the right thing for a link with a > tooltip. Consider: > > You can read more about <a > href="http://en.wikipedia.org/wiki/Russia" title="Russia">his home > country</a> on Wikipedia. > I'm not completely sure either, ;-). The link role, which is applicable here, takes its accessible name from content or from author [1]. My guess is that since the @title attribute is used for the tooltip, the title text is used for the accessible description -- tooltips are generally used as additional descriptive information to support a label. That leaves the content of the link for the accessible name. That, at least, is consistent with the html mapping document with respect to names and descriptions for the <a> element [2]. > > Firefox currently exposes "his home country" as the name, and > "Russia" as the description. Both NVDA and JAWS read out the name > first, but also read out the description when it has focus. The > algorithm needs to handle this case. It needs to handle both the > case where other text and the tooltip are present, and the case > where the tooltip is the only provided text. > Agreed, but this is more than just an editorial change, and likely requires further discussion. [1] http://rawgit.com/w3c/aria/master/aria/aria.html#link [2] http://rawgit.com/w3c/aria/master/html-aam/html-aam.html#a-element -- ;;;;joseph. 'Array(16).join("wat" - 1) + " Batman!"' - G. Bernhardt -
Received on Monday, 17 November 2014 05:08:05 UTC