Created attachment 412578 [details] Screen recording navigating an ARIA tree using VoiceOver with Safari Steps to reproduce: 1. Start VoiceOver 2. Go to https://codepen.io/toddlr/pen/XWrGrGV 3. Move focus to the ARIA tree example 4. Notice VoiceOver does not announce the aria-selected state for the selected ARIA treeitem What is the expected result? VoiceOver should announce the aria-selected state for the ARIA treeitem What happens instead of that? VoiceOver does not announce the aria-selected state for the ARIA treeitem
<rdar://problem/70783545>
Created attachment 412584 [details] Screen shot of the ARIA tree example with the Accessibility Inspector I believe this could be a bug in VoiceOver. When examining the selected ARIA treeitem instance in the Accessibility Inspector, the inspector shows it as selected.
As of Mac OS 11.4 aria-selected is announced by VoiceOver BUT only if interacting using VO- navigation. If you navigate using only arrow keys WITH VO- modifiers aria-selected is not announced.
The fix for this issue was needed outside the WebKit project, therefore this is being resolved as 'Moved'. This should now be fixed in shipping software.
Seeing different but problematic behavior in 13.1 Beta (22C5044e), see attached video. When cell selection changes, VO continues to announce the previously selected cell as selected. This is a regression from the progress made in Monterey (12.6.1).
Created attachment 463547 [details] Select state not updating
Verified this as fixed. The root cause was the repro example (https://codepen.io/toddlr/pen/XWrGrGV) didn't implement aria-selected per the spec (https://www.w3.org/TR/wai-aria-1.2/#aria-selected). Specifically, per the spec: "Single-selection containers where the currently focused item is not selected. The selection normally follows the focus, and is managed by the user agent." So, if an ARIA tree uses aria-selected in a single-selection mode it needs to explicitly declare all unselected treeitems using aria-selected=false else VoiceOver will (per the spec) assume focus and selection are in sync.