Firefox exposes ARIA grids with extra divs incorrectly
Categories
(Core :: Disability Access APIs, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox75 | --- | fixed |
People
(Reporter: dmazzoni, Assigned: MarcoZ)
References
(Blocks 1 open bug)
Details
(Keywords: parity-chrome)
Attachments
(1 file)
Comment 2•7 years ago
|
||
Comment 3•5 years ago
|
||
This breaks even harder if there is a div between a grid and its rows:
data:text/html,before<div role="grid" aria-readonly="true"><div tabindex="-1"><div role="row"><div role="gridcell">cell content</div></div></div></div>
This results in a table with 0 rows and 0 columns and table navigation fails. This breaks real world usage in web apps such as SharePoint and SAP Net Viewer. Works as expected in Chrome.
The spec notes that required owned elements (row is a required owned element of grid) can be descendants, not just children:
Any element that will be owned by the element with this role. For example, an element with the role list will own at least one element with the role listitem.
https://w3c.github.io/aria/#mustContain
An 'owned element' is any DOM descendant of the element, any element specified as a child via aria-owns, or any DOM descendant of the owned child.
https://w3c.github.io/aria/#terms
IMO, this vagueness around descendant is problematic. For example, what if the intervening div had a role of button or cell? However, the reality is that our current behaviour is breaking real world use cases. Maybe we could ignore intervening generic HyperTextAccessibles with non-presentation ARIA roles?
Updated•5 years ago
|
Assignee | ||
Comment 4•5 years ago
|
||
When looking to see if a row has a table, now also include section role accessibles in addition to row groups.
Also, when iterating through rows from a table, take into account that rows may be wrapped in section role accessibles.
Updated•5 years ago
|
Comment 6•5 years ago
|
||
bugherder |
Description
•