Bug 239920 - AX: Label of aria grid is not announced when contained within a main landmark
Summary: AX: Label of aria grid is not announced when contained within a main landmark
Status: RESOLVED MOVED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Safari 15
Hardware: iPhone / iPad iOS 15
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-04-29 17:39 PDT by Devon Govett
Modified: 2022-06-30 10:25 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Devon Govett 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.
Comment 1 Radar WebKit Bug Importer 2022-04-29 17:39:14 PDT
<rdar://problem/92551557>
Comment 2 Devon Govett 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.
Comment 3 chris fleizach 2022-05-03 23:58:52 PDT
Will need to be fixed in an iOS release rather than WebKit.
Comment 4 Brent Fulgham 2022-06-30 10:25:21 PDT
We believe this fix is present in iOS 15.6 Beta 4 (or newer).