Closed
Bug 1455416
Opened 7 years ago
Closed 2 years ago
removed accessible element doesn't return owned accessibles back
Categories
(Core :: Disability Access APIs, defect, P2)
Core
Disability Access APIs
Tracking
()
RESOLVED
FIXED
116 Branch
People
(Reporter: surkov, Assigned: nlapre)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
example:
<body>
<input id='i'>
<div aria-owns='i'></div>
</body>
and then
div.remove();
expected: input accessible should be under a document
actual: input accessible is lost
Reporter | ||
Comment 1•7 years ago
|
||
it leads to broken trees, which is known to be a cause of all kind of problems ranging from stability to correctness
Blocks: ariaowns
Priority: -- → P2
Updated•2 years ago
|
Severity: normal → S3
Assignee | ||
Updated•2 years ago
|
Assignee: nobody → nlapre
Comment 3•2 years ago
|
||
Summary of Zoom chat:
- Things that should hold at this point:
- IsRelocated() should be true on owned children.
- The owner (parent) should be in mARIAOwnsHash.
- We cannot assume that ContentRemoved runs inside WillRefresh. Even if it does, we can't guarantee it will run after the relocation list is processed. So, we can't rely on relocations to handle this.
- Probably need to do this somewhere in UncacheChildrenInSubtree.
- If a child IsRelocated(), put it back where it belongs; don't remove it. See PutChildrenBack... but that has to be called on the parent and it deals with multiple children,so that might make things interesting.
- aria-owns can be used to reorder children without moving them across subtrees. We do want to remove the child in that case. So we might need to check whether the child has the same parent after "putting it back" and remove it if it does.
Assignee | ||
Comment 4•2 years ago
|
||
This revision modifies UncacheChildrenInSubtree such that removed but relocated
accessibles that are aria-owned are actually relocated to their proper parent
after the removal of the formerly-aria-owning parent. On the way to
accomplishing that goal, this revision adds PutChildBack, a method called by
PutChildrenBack and now also called by UncacheChildrenInSubtree. We don't always
want to put all the children back - this function lets us manage it one at a time.
Finally, this revision adds tests which verify that the functionality works
as intended.
Pushed by nlapre@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/edbaacc4f3d6
Relocate aria-owned accessibles on (aria) parent removal, r=Jamie
Comment 6•2 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 2 years ago
status-firefox115:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 115 Branch
Backout by nerli@mozilla.com:
https://hg.mozilla.org/mozilla-central/rev/a26e51291aca
Backed out changeset edbaacc4f3d6 for ContentCache crashes a=backout
Updated•2 years ago
|
Status: RESOLVED → REOPENED
status-firefox115:
fixed → ---
Resolution: FIXED → ---
Target Milestone: 115 Branch → ---
Pushed by nlapre@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/dcb5003e4c19
Relocate aria-owned accessibles on (aria) parent removal, r=Jamie
Comment 9•2 years ago
|
||
bugherder |
Status: REOPENED → RESOLVED
Closed: 2 years ago → 2 years ago
status-firefox116:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 116 Branch
Updated•2 years ago
|
status-firefox114:
--- → wontfix
status-firefox115:
--- → wontfix
You need to log in
before you can comment on or make changes to this bug.
Description
•