RESOLVED MOVED 239920
AX: Label of aria grid is not announced when contained within a main landmark
https://bugs.webkit.org/show_bug.cgi?id=239920
Summary AX: Label of aria grid is not announced when contained within a main landmark
Devon Govett
Reported 2022-04-29 17:39:04 PDT
When a table with `role="grid"` is contained within a main landmark (e.g. `<main>` or `<div role="main">`), its accessibility name and description are not announced when navigating into it with VoiceOver on iOS. When the main landmark is removed, the announcement works as expected. Reproduction steps: 1. Open https://codepen.io/devongovett/pen/zYROQpG on iOS. 2. Turn on VoiceOver, and navigate to the first column header ("Foo"). Notice that it only announces the column header, and not the `aria-label` of the table. 3. Open https://codepen.io/devongovett/pen/GRQKayy. This is the exact same code without the `<main>` wrapper. 4. Navigate to the first column header again. Notice that it announces the name of the table "Test table" in addition to the column header.
Attachments
Radar WebKit Bug Importer
Comment 1 2022-04-29 17:39:14 PDT
Devon Govett
Comment 2 2022-05-03 13:18:10 PDT
Discovered a bit more info: it appears this only occurs when the grid is not the first child of the <main> landmark. If you remove the `<span>` before the table in the codepens, the issue no longer occurs. When the table is the first child, the label is announced, but at the end rather than the start of the overall announcement. Seems like maybe it's announcing the name as part of the landmark announcement since it reads "Test table, landmark". Not sure.
chris fleizach
Comment 3 2022-05-03 23:58:52 PDT
Will need to be fixed in an iOS release rather than WebKit.
Brent Fulgham
Comment 4 2022-06-30 10:25:21 PDT
We believe this fix is present in iOS 15.6 Beta 4 (or newer).
Note You need to log in before you can comment on or make changes to this bug.