Refactor DOM attribute change handling
Categories
(Core :: Disability Access APIs, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox92 | --- | fixed |
People
(Reporter: eeejay, Assigned: eeejay)
Details
Attachments
(3 files)
Our current DOM attribute changed listener in DocAccessible is spaghetti code and touches on many different things. This includes changes in relations, aria-owns, states accessible attributes, and name/description changes. Some of these codepaths are specialized for specific accessible types (eg. a summary attribute is only relevant to tables).
In the past we were forced to store the old state of accessibles in the AttributeWillChange
callback when we aren't able to determine for certain if an attribute change changes a state. Since we are already doing this, that technique could be used more broadly in many cases to give a proper state-change event, this will simplify and robustify our state-change code.
Assignee | ||
Comment 1•3 years ago
|
||
The AttributeChanged callback includes the old value, so there isn't a
reason to store this from AttributeWillChange.
Assignee | ||
Comment 2•3 years ago
|
||
Also folded ARIAAttributeChanged into DOMAttributeChanged temporarily.
Will streamline that further in the next patch where state changes are
done a bit better.
Depends on D120900
Assignee | ||
Comment 3•3 years ago
|
||
Needed to tweak tests a bit because the code is now more descerning
wheter to fire an event or not. Will do so only if the state actually
changes.
Depends on D120901
Updated•3 years ago
|
Comment 5•3 years ago
•
|
||
Backed out 3 changesets (bug 1722396) for Devtools failures in devtools/server/tests/browser/browser_accessibility_node_events.js. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer?job_id=346658116&repo=autoland&lineNumber=2672
There are also some BC failures:
https://treeherder.mozilla.org/logviewer?job_id=346658384&repo=autoland&lineNumber=1701
Push with failures:
https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&revision=cda26075ae09d337ca4a1aa64c0721ab6926b2d9
Backout:
https://hg.mozilla.org/integration/autoland/rev/7f3cf93f5095d10da485a393937d8dfcff492db8
Updated•3 years ago
|
Updated•3 years ago
|
Comment 8•3 years ago
|
||
Backed out 4 changesets (Bug 1722396) for causing multiple failures CLOSED TREE
Log: https://treeherder.mozilla.org/logviewer?job_id=346807824&repo=autoland&lineNumber=1909
https://treeherder.mozilla.org/logviewer?job_id=346806816&repo=autoland&lineNumber=2690
Backout: https://hg.mozilla.org/integration/autoland/rev/a0a369ff460ea4070c674ed45116a3de473ed554
Updated•3 years ago
|
Comment 10•3 years ago
|
||
Backed out 3 changesets (bug 1722396) for Linting failure in accessible/tests/browser/mac/browser_aria_expanded.js. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer?job_id=347191432&repo=autoland&lineNumber=114
Push with failures:
https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&revision=86fc719a7a9402882ad267d6a5af865427d01b4a
Backout:
https://hg.mozilla.org/integration/autoland/rev/7153015cf34c31386b2cfaa09ac19bb903ea70c9
Comment 11•3 years ago
|
||
Comment 12•3 years ago
|
||
Comment 13•3 years ago
|
||
Backed out 3 changesets (Bug 1722396) for causing gv-junit test failures.
Backout link
Failure Log
Push with failures - due to some build bustages, we triggered some tests on your try push.
Assignee | ||
Comment 14•3 years ago
|
||
Oof sorry for all of these failed landings, my try attempts have been to selective and I have missed some of these failures. Hope this next one sticks..
Comment 15•3 years ago
|
||
Comment 16•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/5bfab23542e1
https://hg.mozilla.org/mozilla-central/rev/57cba437be32
https://hg.mozilla.org/mozilla-central/rev/17cdb70e03a3
Description
•