- From: Joseph Scheuhammer <clown@alum.mit.edu>
- Date: Wed, 21 Mar 2012 15:20:40 -0400
- To: wai-xtech@w3.org
(Sorry if you get this twice. The last send didn't make it to the list).
Hi Alex,
Alexander Surkov wrote wrote:
> Firefox text equiv computation algorithm is different from ARIA spec
> algorithm (here:
> http://www.w3.org/TR/2009/WD-wai-aria-implementation-20090224/#mapping_special_te)
>
> and actually it sounds like it differed forever (see first draft
> http://www.w3.org/TR/2009/WD-wai-aria-implementation-20090224/#mapping_special_te).
>
FWIW, I found a similar clause in the first draft in the W3C repository:
> If the current node is hidden and not currently pointed to directly
by an
> aria-labelledby or aria-describedby used in this text equivalent
traversal,
> then, skip the node.
The log says that the document was copied from Mozilla's developer site:
https://developer.mozilla.org/en/ARIA_User_Agent_Implementors_Guide
Yes, it appears that FF's implementation differed from the spec from the
start. It suggests that it differed from Mozilla's own documentation.
> 1) "Skip hidden elements unless the author specifies to use them via
> an aria-labelledby or aria-describedby being used in the current
> computation."
>
> Firefox doesn't skip any hidden elements IDRefed by attributes used in
> text equivalent calculation. For example, the spec requires to left
> name blank for input element in following case:
> <label style="display:none" for="input">label</label><input id="input"/>
Interesting. Maybe <label> imply an aria-labelledby since the <input>
element is labelled by the <label> element. Perhaps it is a special
case? For example, what does FF do when there are no label-like
elements nor attributes with respect to a hidden element (the innerSpan
in the following):
<div id="label">label <span style="display:none" id="innerSpan">this
text shouldn't be part of the label</span></div>
<input id="input" aria-labelledby='label'/>
Is the accName "label"? Or is it "label this text shouldn't be part of
the label"? Actually I cheated and looked*, and it's just "label". In
this case, the hidden element was skipped. In fact, when the
'display:none' style is removed from innerSpan, the accName becomes
"label this text shouldn't be part of the label".
Actually, when I checked your example (<label style="display:none"
for="input">label</label><input id="input"/>), the input had no accName,
implying that the hidden <label> was skipped. Perhaps I'm doing
something wrong? The test file I used is:
http://clown.idrc.ocad.ca/Fluid/aria/hiddenTextLabel.html
* using FF 11 and viewed with Accerciser.
--
;;;;joseph.
'A: After all, it isn't rocket science.'
'K: Right. It's merely computer science.'
- J. D. Klaun -
Received on Wednesday, 21 March 2012 19:21:17 UTC