ISSUE-752: Potential infinite loop

Potential infinite loop

State:
CLOSED
Product:
ARIA 1.1 Name Computation
Raised by:
Cynthia Shelly
Opened on:
2015-11-14
Description:
Potential infinite loop
Take this example:
<td>I contain a <button>button</button>!</td>

Computing the name for the cell, I believe you’ll hit this:
1. Hit step 2.F, name from contents
2. Walk child nodes until you hit the <button>
3. Button hits step 2.E., which says get the name from the text alternative of the button
4. One of the two will happen:
a. Button satisfies 2.D and has a native attribute defining text alternative (really need this specified)
b. Button does not satisfy 2.D and drops back into 2.E and goes back to step 3 here

Now, take this:
<td>I contain a <button aria-label=”fun button”>button</button>!</td>

Computing the name for the cell, I believe you’ll hit this:
1. Hit step 2.F, name from contents
2. Walk child nodes until you hit the <button>
3. Button hits step 2.E., which says get the name from the text alternative of the button
4. Hit step 2.C, and this is an embedded control with an aria-label defined, but ignored, so we jump to step 2.E again
5. Step 2.E and goes back to step 3 here
Related Actions Items:
No related actions
Related emails:
No related emails

Related notes:

I am looking at issue 752: https://www.w3.org/WAI/ARIA/track/issues/752

I don’t see the infinite loop here.

Step 2E now says:

Otherwise, if the current node is a control embedded within the label (e.g. the label element in HTML or any element directly referenced by aria-labelledby) for another widget, where the user can adjust the embedded control's value, then include the embedded control as part of the text alternative in the following manner

In Cynthia’s example: <td>I contain a <button aria-label=”fun button”>button</button>!</td>

button is not within a label. It is within a TD.

So, in the case of 2F. TD is a cell that allows name from content and the algorithm will cycle through the children. When the current node becomes “pushbutton” ( a button ) the HTML spec. states how to compute its name and step 2C will compute the name based on the aria-label supplied.

In other words, there is no infinite loop given the current text. So, I recommend that we close the issue.

I am closing the issue.

Richard Schwerdtfeger, 19 Jul 2017, 19:01:16

Display change log ATOM feed


Joanmarie Diggs <jdiggs@igalia.com>, James Nurthen <nurthen@adobe.com>, Chairs, Michael Cooper <cooper@w3.org>, Ruoxi Ran <ran@w3.org>, Staff Contacts
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <w3t-sys@w3.org>.
$Id: index.php,v 1.326 2018/10/13 17:29:51 vivien Exp $