[CTW] Remove ARIA table classes
Categories
(Core :: Disability Access APIs, task)
Tracking
()
People
(Reporter: Jamie, Assigned: Jamie)
References
(Blocks 1 open bug)
Details
(Whiteboard: [ctw-postship])
Attachments
(3 files, 1 obsolete file)
Bug 1832228 part 1: Remove ARIAGridAccessible, ARIARowAccessible and most of ARIAGridCellAccessible.
48 bytes,
text/x-phabricator-request
|
dmeehan
:
approval-mozilla-esr115+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
dmeehan
:
approval-mozilla-esr115+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
dmeehan
:
approval-mozilla-esr115+
|
Details | Review |
Now that Cache the World is enabled by default everywhere, we always use CachedTableAccessible for ARIA tables. This means we no longer need ARIAGridAccessible, ARIARowAccessible or ARIAGridCellAccessible. This will require changes to nsAccessibilityService::CreateAccessible and friends. We will also want to change Accessible::IsTable* to use HasGenericType instead of checking mGenericTypes directly.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 1•1 years ago
|
||
Updated•1 years ago
|
Assignee | ||
Comment 2•1 years ago
|
||
We now use CachedTableAccessible for ARIA tables and grids, so most of the code in the ARIA table classes was unused.
- Remove ARIAGridAccessible and ARIARowAccessible completely.
- ARIAGridCellAccessible no longer derives from TableCellAccessible.
- Remove most of ARIAGridCellAccessible.
- We still use ARIAGridCellAccessible to differentiate between valid and invalid cells. Valid cells create an ARIAGridCellAccessible and ARIAGridCellAccessible::IsTableCell() returns true due to mGenericTypes. Invalid cells don't get an ARIAGridCellAccessible, so IsTableCell() returns false on those.
- We also keep the code in ARIAGridCellAccessible to expose some states and attributes.
- The code for creating ARIAGridCellAccessible in CreateAccessible has been refactored, both for simplification and to fix bugs. display: contents tables now properly get the table and table cell interfaces; i.e. IsTable() and IsTableCell() return true when appropriate. Walking non-generic ancestors should fix ARIA tables with intervening generics, though this will be dealt with fully in a separate bug.
Assignee | ||
Comment 3•1 years ago
|
||
These classes are no longer used.
The remaining XUL subclasses now derive from Table*AccessibleBase.
XULTreeGridAccessible depended on some methods in TableAccessible which are no longer used by anything else, so these have been moved into XULTreeGridAccessible itself.
Assignee | ||
Comment 4•1 years ago
|
||
Now that the local-only TableAccessible and TableCellAccessible have been removed, we no longer need this Base suffix for the unified classes.
Aside from renaming the header files, the rest of this was done with the following script:
function replace {
sed -i 's/'$1'/'$2'/g' `git grep -l $1`
}
replace TableAccessibleBase TableAccessible
replace TableCellAccessibleBase TableCellAccessible
replace AsTableBase AsTable
replace AsTableCellBase AsTableCell
Assignee | ||
Updated•1 years ago
|
Assignee | ||
Updated•1 years ago
|
Assignee | ||
Updated•1 years ago
|
Comment 5•1 years ago
|
||
Comment on attachment 9337202 [details]
Bug 1832228 part 1: Add methods for determining generic Accessibles and getting the nearest non-generic ancestor.
Revision D179800 was moved to bug 1837105. Setting attachment 9337202 [details] to obsolete.
Updated•1 years ago
|
Updated•1 years ago
|
Updated•1 years ago
|
Comment 7•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/ad1d1cc9a2b8
https://hg.mozilla.org/mozilla-central/rev/094e8ca370f7
https://hg.mozilla.org/mozilla-central/rev/2bc9b7e916d8
Assignee | ||
Comment 8•1 year ago
|
||
Comment on attachment 9337203 [details]
Bug 1832228 part 1: Remove ARIAGridAccessible, ARIARowAccessible and most of ARIAGridCellAccessible.
ESR Uplift Approval Request
- If this is not a sec:{high,crit} bug, please state case for ESR consideration: Needed to fix various accessibility regressions introduced by the Cache the World project which shipped in 115.
- User impact if declined: Table accessibility bugs which impact popular sites (Google Calendar, Facebook Messenger) once other necessary fixes in other areas are uplifted.
- Fix Landed on Version: 116
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): This is a significant refactor. However, this is well covered by automated tests and has been baking on release since 116 without problems.
Assignee | ||
Updated•1 year ago
|
Comment 10•1 year ago
|
||
Comment on attachment 9337203 [details]
Bug 1832228 part 1: Remove ARIAGridAccessible, ARIARowAccessible and most of ARIAGridCellAccessible.
Approved for 115.4esr.
Comment 11•1 year ago
|
||
Comment on attachment 9337204 [details]
Bug 1832228 part 2: Remove TableAccessible and TableCellAccessible.
Approved for 115.4esr.
Comment 12•1 year ago
|
||
Comment on attachment 9337205 [details]
Bug 1832228 part 3: Rename TableAccessibleBase to TableAccessible and TableCellAccessibleBase to TableCellAccessible.
Approved for 115.4esr.
Updated•1 year ago
|
Description
•