Closed Bug 1488109 Opened 6 years ago Closed 6 years ago

If aria-activedescendant is set on the focused element, moving target id to another node doesn't move focus

Categories

(Core :: Disability Access APIs, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox64 --- fixed

People

(Reporter: Jamie, Assigned: Jamie)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

STR:
1. Open this test case:
data:text/html,<body role="application"><div id="a" tabindex="0" aria-activedescendant="b" aria-label="a"></div><div id="b" aria-label="b"></div><div id="c" aria-label="c"></div><script>setTimeout(function () { b.id = ""; c.id = "b"; }, 1000);</script></body>
2. Before 1 second elapses, tab to focus the div. Observe that the "b" div gets accessible focus.
3. Wait 1 second.
Expected: The "c" div should get accessible focus within 1 second.
Actual: Accessible focus stays on the "b" div.

The id "b" is moved from one node to another. This means that the target of aria-activedescendant has changed, but the a11y engine doesn't recognise this.

This is a pretty unusual case I've never seen before, but as far as I can see, the spec doesn't preclude it. It was discovered in the patch for bug 1476852.
Comment on attachment 9005928 [details]
Bug 1488109: If the focused element has aria-activedescendant and the target id is moved to another node, move accessible focus to the new target. r?Surkov

alexander :surkov (:asurkov) has approved the revision.
Attachment #9005928 - Flags: review+
Pushed by jteh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0b3bd846add2
If the focused element has aria-activedescendant and the target id is moved to another node, move accessible focus to the new target. r=surkov
https://hg.mozilla.org/mozilla-central/rev/0b3bd846add2
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: