Closed Bug 1656330 Opened 5 years ago Closed 2 years ago

Accessibility tree says role=table even though role="grid" is explicitly set (WPT wai-aria/role/grid-roles.html role is grid)

Categories

(Core :: Disability Access APIs, defect)

80 Branch
defect

Tracking

()

RESOLVED FIXED
125 Branch
Tracking Status
firefox125 --- fixed

People

(Reporter: carolynmacleod4, Assigned: nlapre)

References

(Blocks 2 open bugs)

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0

Steps to reproduce:

  1. Go to https://codepen.io/carmacleod/full/gOPNZOE
  2. Inspect the Accessibility tree for the table
  3. This table has an explicit role of "grid" but the Accessibility tree says it's a table

Actual results:

Accessibility tree misidentifies this grid as a table

Expected results:

Accessibility tree should says it's a grid

This may be due to: https://bugzilla.mozilla.org/show_bug.cgi?id=1177270
Just want to make sure this issue will be fixed when table and grid are split.

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Disability Access APIs
Product: Firefox → Core

The roles exposed in the accessibility tree are Firefox roles, not ARIA roles. For example, there are roles for which there is no equivalent in ARIA; e.g. text and text leaf. Internally (and in most platform APIs), there's not really any difference between table and grid, so Firefox doesn't differentiate. That said, I understand this is confusing for web devs.

The question is whether we should use a different role internally or tweak Dev Tools to fake this.

Marco, what do you think?

Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(mzehe)

I know for a fact that JAWS differenciates between tables and grids. For example, the Gmail message list is a grid, as is the new Facebook design's Notifications overlay. So Vispero are already applying some heuristics to differentiate the two. I think to avoid confusion, and make this explicit, we should go with a different internal role. We already have so many of them, one more doesn't really matter, and removes ambiguity.

Flags: needinfo?(mzehe)

Seems reasonable.

Blocks: tablea11y
Severity: -- → S2
Severity: S2 → S3
Blocks: a11y-wpt
Summary: Accessibility tree says role=table even though role="grid" is explicitly set → Accessibility tree says role=table even though role="grid" is explicitly set (WPT wai-aria/role/grid-roles.html role is grid)

This revision adds a Gecko GRID role, matching the ARIA 'grid' role, and
implements its platform mappings. It then remaps the ARIA 'grid' role to the
Gecko GRID role. Finally, this revision removes the expected-fail for the
relevant formerly-failing web platform test and updates existing tests.

Assignee: nobody → nlapre
Status: NEW → ASSIGNED
Pushed by nlapre@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1529f839fd64 Implement grid role, mapping, r=Jamie,devtools-reviewers,nchevobbe
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 125 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: