- From: Alexander Surkov <surkov.alexander@gmail.com>
- Date: Wed, 26 Nov 2014 11:07:41 -0500
- To: Joseph Scheuhammer <clown@alum.mit.edu>
- Cc: "W3C WAI Protocols & Formats" <public-pfwg@w3.org>, W3C WAI-PFWG <w3c-wai-pf@w3.org>
- Message-ID: <CA+epNsfrKgaGPEQkfyT7vnngvkQBq-MRsd8GTwOxORLDO0VaVA@mail.gmail.com>
Hi, Joseph. Answering inline. On Fri, Nov 7, 2014 at 3:44 PM, Joseph Scheuhammer <clown@alum.mit.edu> wrote: > 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 > I must be missing something. If element is a node then why to mention it at all. It sounds for me like "I eat steaks or food". > > * "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." > Yeah, I don't know how much pedantic you want to be :) you may want to add " or some descendant of another referenced node", perhaps you could say "but at later stages this can be a desdendant of the |root node|, a referenced node (note references allows the recursion) or its descendant". > > 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 > on implementation level we have a map if the role allows name from subtree, so the rule is rather role dependent. You can take a look at 2e item of Firefox alg ( http://asurkov.blogspot.ca/2012/11/accessilbe-firefox-text-equivalent.html). I didn't read the proposed alg so far. > > * 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 meant if 2A item mentions ARIA attributes only then the alg leaves name empty for the following case <label hidden for="input">I'm a label</label> <input id="input"> I guess it's disputable whether input's name should be empty or not but the point is that the rule applies to any possible markup. I would try to word it more flexible, something like "referenced by aria-.. attributes or by native markup attributes if markup allows that" > > 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. > You know I would define a term for them like |ARIA reference attributes| or similar and say that their usage is text equivalent dependent, i.e if you compute the accessible name then aria-labelledby is applied only. > > Thanks again. > > > -- > ;;;;joseph. > > 'Array(16).join("wat" - 1) + " Batman!"' > - G. Bernhardt - > >
Received on Wednesday, 26 November 2014 16:08:09 UTC