- 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