This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 14899 - text alternative computation algorithm problems
Summary: text alternative computation algorithm problems
Status: RESOLVED WONTFIX
Alias: None
Product: ARIA
Classification: Unclassified
Component: Core AAM (show other bugs)
Version: 1.0
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: ARIA UA Implementors
QA Contact: ARIA UA Implementors
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-22 06:11 UTC by alexander surkov
Modified: 2011-11-29 17:11 UTC (History)
1 user (show)

See Also:


Attachments

Description alexander surkov 2011-11-22 06:11:37 UTC
eventually text alternative computation algorithm of ARIA implementation guide was replaced on new one (http://www.w3.org/WAI/PF/aria-implementation/#mapping_additional_nd_te) and got several problems preserving some old ones:

1) section A

The aria-labelledby attribute takes precedence as the element's text alternative unless this computation is already occurring as the result of a recursive aria-labelledby declaration (in other words, aria-labelledby is not recursive when referenced from another element, so it will not cause loops)

I read this as aria-labelledby is not recursive at all, for example,
<span id="txt1">txt1</span>
<span id="txt2" aria-labelledby="txt1">txt2</span>
<span id="txt3" aria-labelledby="txt2">txt3</span>
It makes me think that aria-labelledby on txt2 is ignored when text alternative is calculated for txt3. If that's what guide says then loops preventing looks like a weak reason because it's enough to ignore last aria-labelledby that causes a loop. Recursive aria-labelledby is implemented in Firefox for years and used on the web and iirc Firefox UI.

On the other hand recursions caused by aria-labelledby and IDRefs attributes from native markup aren't addressed by guide at all. For example,
<label for="input" aria-labelledby="input">label</label>
<input id="input">


aria-labelledby is not recursive anymore, the reason to prevent loops, that's a weak reason because aria-labelledby causing a loop should be ignored

2) section C

current element's role allows "Name From: contents."

Guide should list which ARIA roles allow "Name From contents". If the rule is platform dependent then platform roles should be used instead.

3) section C

It appears the algorithm has lost "name from content if recursive" item. For example,
<p id="p">this is paragraph</p>
<input aria-labelledby="p"/>
Previously paragraph didn't have an accessible name per guide algorithm because it doesn't allow "name from contents" but its content is allowed to be used to build the name of another element so that HTML input was used to pick up paragraph content as accessible name in this example.

4) section C

This same rule may apply to a child, which means the computation becomes recursive and can result in text being collected in all the nodes in this subtree, no matter how deep they are. However, any given descendant subtree may instead collect their part of the text alternative from the preferred markup described in A and B above.

This sounds like browser has too much freedom what must lead to inconsistency between browser implementations. What is that for? I think this is result of getting rid of "name from content if recursive".
Comment 1 Andi Snow-Weaver 2011-11-29 16:46:42 UTC
Alexander,

The text computation algorithm is the same as what is in the ARIA spec and it is normative. We can't change it without causing the ARIA standard to go back to Last Call. You need to raise this issue against the ARIA spec.

Please go to https://www.w3.org/WAI/PF/Group/track/products/1 and create a new issue using the "Create" link on the right side of the page.
Comment 2 alexander surkov 2011-11-29 17:11:12 UTC
(In reply to comment #1)
> The text computation algorithm is the same as what is in the ARIA spec and it
> is normative. We can't change it without causing the ARIA standard to go back
> to Last Call. You need to raise this issue against the ARIA spec.

Thanks, Andi. I missed text alternative computation algorithm was adopted by ARIA spec (http://www.w3.org/TR/2010/WD-wai-aria-20100916/roles#namecalculation).

Btw is there any particular reason that ARIA implementation guide dupes it?

> Please go to https://www.w3.org/WAI/PF/Group/track/products/1 and create a new
> issue using the "Create" link on the right side of the page.

Ok, I requested account for that. I will do.