Tree cycle when aria-owns adopts ancestor which isn't yet created
Categories
(Core :: Disability Access APIs, defect, P1)
Tracking
()
People
(Reporter: tsmith, Assigned: Jamie)
References
(Blocks 2 open bugs)
Details
(Keywords: testcase)
Attachments
(3 files, 1 obsolete file)
(deleted),
text/html
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
text/x-phabricator-request
|
Details |
Updated•7 years ago
|
Comment 1•7 years ago
|
||
Comment 2•7 years ago
|
||
Updated•7 years ago
|
Comment 3•7 years ago
|
||
Comment 4•7 years ago
|
||
Comment 5•7 years ago
|
||
Comment 6•7 years ago
|
||
Comment 7•7 years ago
|
||
Comment 8•7 years ago
|
||
Comment 9•7 years ago
|
||
Comment 10•7 years ago
|
||
Comment 11•7 years ago
|
||
Comment 12•7 years ago
|
||
Comment 13•7 years ago
|
||
Comment 14•7 years ago
|
||
Comment 15•7 years ago
|
||
Comment 16•7 years ago
|
||
Comment 17•7 years ago
|
||
Comment 18•7 years ago
|
||
Comment 19•7 years ago
|
||
Comment 20•7 years ago
|
||
Comment 21•7 years ago
|
||
Updated•7 years ago
|
Comment 23•7 years ago
|
||
Comment 24•7 years ago
|
||
Updated•7 years ago
|
Updated•7 years ago
|
Assignee | ||
Comment 25•6 years ago
|
||
Comment 26•6 years ago
|
||
Comment 27•6 years ago
|
||
Assignee | ||
Comment 28•5 years ago
|
||
(In reply to Eitan Isaacson [:eeejay] from comment #26)
As for this specific bug, one edge case is when the adopted child (which is
an ancestor) is not yet created. Consider this markup:<span id="a">
<div id="b" aria-owns="container"></div>
</span>
<div id="container"></div>if aria-owns="a" is set on "container", a is created and the cycle check
fails. I'm not in the code, but I can imagine why..
Here's a snippet for that test case:
data:text/html,<span id="a"><div id="b" aria-owns="container"></div></span><div id="container"></div><script>setTimeout(function() { container.setAttribute("aria-owns", "a"); }, 2000);</script>
The cycle check does indeed fail, but this doesn't seem to cause a hang. Of course, once we're in this state, triggering a hang is quite possible. Even so, since it's not a current real world issue, I'm dropping the priority.
Assignee | ||
Comment 29•3 years ago
|
||
This is needed to fix IPC crash bug 1712182. Taking; I believe I have a working fix.
Assignee | ||
Comment 30•3 years ago
|
||
Previously, we only checked whether the owner was a DOM descendant of the owned child.
However, the owner could be in a different DOM subtree, but an a11y descendant due to aria-owns relocation.
Now, we walk the a11y ancestors, doing the DOM descendant check again whenever the DOM lineage changes due to relocation.
Comment 31•3 years ago
|
||
Comment 32•3 years ago
|
||
bugherder |
Updated•3 years ago
|
Description
•