[Webkit-unassigned] [Bug 238831] New: AX: Incorrect role on dynamic lists

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 5 13:53:38 PDT 2022


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

            Bug ID: 238831
           Summary: AX: Incorrect role on dynamic lists
           Product: WebKit
           Version: Safari 15
          Hardware: All
                OS: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Accessibility
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: darin.senneff at gmail.com
                CC: andresg_22 at apple.com,
                    webkit-bug-importer at group.apple.com

Created attachment 456741

  --> https://bugs.webkit.org/attachment.cgi?id=456741&action=review

Screen recording of static and dynamic lists and their roles

When using a traditional (ul/ol element) or ARIA (role="list") with children present on page load, Safari correctly gives these elements a role of "list" in the accessibility tree. 

However when these elements are empty on page load, Safari is giving different behavior: The ol element appears to be removed from the accessibility tree if it has no children, while the ARIA list is given a role of "group". That kind of makes sense since there's no children, thus it is not a list. But when children are added dynamically the roles do not update. 

Adding a dynamic list item to the ul does not update it and add it to the accessibility tree, and thus VoiceOver will not announce a list while treating any list items as regular text nodes.

Adding a dynamic list item to the ARIA list does not update its role either, it remains as "group" and thus VoiceOver will not announce it as a list. Its list item children are announced as regular text nodes.

But when you force a refresh of the virtual buffer (in the screen recording attached I move an element in the inspector), the roles of the dynamic lists get updated. The ul and ARIA list now have a "list" role and are correctly announced by VoiceOver as lists while their children are announced correctly as list items.

Demo CodePen page to test: https://codepen.io/dsenneff/pen/vYpdegY/ee39df80e6f4b0abeab3a49de7052290

Also attaching a screen recording showing the above in action.

-- 
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/20220405/15292698/attachment.htm>


More information about the webkit-unassigned mailing list