- From: Joseph Scheuhammer <clown@alum.mit.edu>
- Date: Fri, 07 Nov 2014 15:44:56 -0500
- To: Alexander Surkov <surkov.alexander@gmail.com>
- CC: W3C WAI Protocols & Formats <public-pfwg@w3.org>, W3C WAI-PFWG <w3c-wai-pf@w3.org>
Hi Alex, Thanks for your comments. Replies inline: > > * "Root node. The DOM node or element > <http://rawgit.com/w3c/aria/master/accname-aam/accname-aam.html#dfn-element>", > every element is DOM node Yes, but not every DOM node is an element. DOM node is the base class for elements as well as text nodes, among others. See: http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1950641247 > * "Current node. The DOM node currently traversed to compute its text > equivalent.", I'd argue about "its" because current node text > equivalent may be not a part of root node text equivalent. For > example, text equivalent for plain HTML:p is empty string but text > equivalent for a button containing that HTML:p is content of HTML:p. > So it looks that it should be "to compute root node text equivalent". Good point. Just to be clear (and pedantic), you are suggesting the definition of "current node" be changed to: " The DOM node currently traversed to compute the root node text equivalent. Initially, this is the |root node|, but at later stages is either some descendant of the |root node|, or another referenced node." But, that's not enough to handle your examples. Taking a plain <p>text</p> as the root, and looking at the steps, it appears that 2F and/or 2G apply. Either way, one ends up with "text" as the accessible name, but you say it's the empty string. Is there a principle here such as, "if the root node is a widget, then all descendants are processed, but if the root node is a non-interactive text container, it has no accessible name"? Compare, for example: http://rawgit.com/w3c/aria/master/html-aam/html-aam.html#text-level-elements-not-listed-elsewhere > * 2A "referenced by |aria-labelledby| or |aria-describedby" that > denies the native markup to have a reference to hidden nodes, also > this doesn't go with Firefox impl| I'm not sure I understand "that denies the native markup to have a reference to hidden nodes". The full condition here is (hidden && !referenced). If that condition holds, then the node is skipped. That entails that it is *not* skipped if aria-labelledby or aria-describedby *reference* hidden nodes. In that case the condition fails, and the hidden nodes are used. I found a test case in the test harness where aria-describedby references a hidden node, where the expected result is that the accessible description is "foo". I ran it with FF 33.0.3, and got the same result, consistent with 2A. The test case is: https://dvcs.w3.org/hg/pfwg/raw-file/default/ARIA/1.0/tests/test-files/aria-describedby/773.html > |*2B doesn't even mention aria-describedby| Yeah, I just noticed that the other day. The current working draft doesn't mention aria-describedby either, at step 2A in that version. See: [1] http://www.w3.org/TR/core-aam-1.1/#mapping_additional_nd_te (step 2A in this version). I went back a few versions, and discovered that this has been missing for a while. I'll have to think about how to work it in. Thanks again. -- ;;;;joseph. 'Array(16).join("wat" - 1) + " Batman!"' - G. Bernhardt -
Received on Friday, 7 November 2014 20:45:29 UTC