[Webkit-unassigned] [Bug 227906] New: AX: nested role="presentation" elements break role="tree" behavior

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jul 13 08:46:28 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=227906

            Bug ID: 227906
           Summary: AX: nested role="presentation" elements break
                    role="tree" behavior
           Product: WebKit
           Version: Safari 14
          Hardware: All
                OS: macOS 11
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Accessibility
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: srhazi at slack-corp.com
                CC: webkit-bug-importer at group.apple.com

When there are 2 or more nested role="presentation" elements as direct children between role="tree" and its owned role="treeitem" elements, the tree role semantics are lost.

There are several issues in this case:
- The role="tree" element is not read by VoiceOver as if it is a "table" (losing the "Entering table" and "Leaving table" announcements)
- When navigating via VO-left and VO-right, the role="tree" element is not a distinct element; navigation switches between the individual role="treeitem" items. As such, you cannot user VO-shift-down / VO-shift-up to go into/out from the inner tree navigation, and cannot use VO-down / VO-up to navigate the leaves
- The role="treeitem" elements do not retain the treeitem semantics, so the aria-checked="true" or aria-checked="false" states are not announced

A case showing the differences can be found at this codepen URL: https://codepen.io/sufianrhazi/pen/zYwoaNb -- trees with nesting 3 and 2 have navigational differences and do not announce "checked" / "unchecked", the trees with nesting 1 and 0 behave as expected.

Note: this reproduction case is simplified to use only one level of role="treeitem" elements, with no role="group" grouping.

Reproduced on Safari Version 14.1.1 (16611.2.7.1.4) with MacOS 11.4.

In other browsers on MacOS:

Chrome Version 91.0.4472.114 on MacOS 11.4 behaves as expected:
* Retains the tree semantics of the role="tree" element
* The "Entering table" / "Leaving table" announcement is made
* Tree is treated as a single VO-left/VO-right item
* Tree can be entered/exited via VO-shift-down/VO-shift-up
* When entered can be navigated via VO-down/VO-up, and the aria-checked="true"/aria-checked="false" states on role="treeitem" elements are announced and disabled states are announced
* When navigated via up/down arrow keys, the aria-checked states on role="treeitem" elements are announced

Firefox Version 90.0 on MacOS 11.4 behaves mostly as expected, except for aria-checked announcement:
* Retains the tree semantics of the role="tree" element
* The "Entering table" / "Leaving table" announcement is made
* Tree is treated as a single VO-left/VO-right item
* Tree can be entered/exited via VO-shift-down/VO-shift-up
* When entered can be navigated via VO-down/VO-up, and the aria-checked="true"/aria-checked="false" states on role="treeitem" elements are NOT announced but disabled states are announced
* When navigated via up/down arrow keys, the aria-checked states on role="treeitem" elements are NOT announced

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210713/81a50940/attachment.htm>


More information about the webkit-unassigned mailing list