RESOLVED DUPLICATE of bug 281749 283511
AX: content ignored when double wrapped with `display: contents` within a shadow root
https://bugs.webkit.org/show_bug.cgi?id=283511
Summary AX: content ignored when double wrapped with `display: contents` within a sha...
Nathan Knowler
Reported 2024-11-21 11:59:57 PST
Created attachment 473313 [details] Labelled examples of the content being skipped and a workaround When content is wrapped by two elements with `display: contents` within a shadow root, the content is excluded from the accessibility tree. This happens whether or not the content is interactive. A workaround is to use an element in the tree between the two elements with `display: contents`. Example buggy HTML code: <input value=A> <div> <template shadowrootmode=open> <button>B</button> <div style=display:contents> <button>C</button> <div style=display:contents> <button>D</button> </div> </div> <slot></slot> </template> <button>E</button> </div> <button>F</button> The keyboard navigation tabs through the elements in the correct (alphabetical order), but VoiceOver skips the button labelled “D.” I’ve observed this bug on the following OS versions: - macOS 15.1.1 (24B2091) with Safari 18.1.1 (20619.2.8.11.12) - iOS 18.1 (22B83)
Attachments
Labelled examples of the content being skipped and a workaround (1.69 KB, text/html)
2024-11-21 11:59 PST, Nathan Knowler
no flags
Using VoiceOver to interact with the bug and workaround (916.25 KB, video/mp4)
2024-11-21 12:09 PST, Nathan Knowler
no flags
Using keyboard navigation to interact with the example (399.68 KB, video/mp4)
2024-11-21 12:11 PST, Nathan Knowler
no flags
Radar WebKit Bug Importer
Comment 1 2024-11-21 12:00:07 PST
Nathan Knowler
Comment 2 2024-11-21 12:09:52 PST
Created attachment 473315 [details] Using VoiceOver to interact with the bug and workaround I’ve attached a video example of the bug in VoiceOver.
Nathan Knowler
Comment 3 2024-11-21 12:11:08 PST
Created attachment 473316 [details] Using keyboard navigation to interact with the example Here’s also a video demonstration of keyboard navigation working correctly.
Nathan Knowler
Comment 4 2024-11-21 12:17:02 PST
I’m also observing this problem in Safari Technology Preview Release 207 (Safari 18.2, WebKit 20621.1.4.3) using the same macOS version as the OP.
Tyler Wilcock
Comment 5 2024-11-22 17:01:43 PST
This was fixed in STP 208 (though please let me know if you experience otherwise) by this change: https://github.com/WebKit/WebKit/pull/35430 (AX: Default to walking the DOM rather than the render tree when building the accessibility tree)
Nathan Knowler
Comment 6 2024-11-22 17:11:34 PST
Yes, it looks like it is fixed in STP 208. Thanks!
Tyler Wilcock
Comment 7 2024-11-23 18:53:37 PST
*** This bug has been marked as a duplicate of bug 281749 ***
Note You need to log in before you can comment on or make changes to this bug.