| Summary: | AX: Support display:contents for table elements | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Tyler Wilcock <tyler_w> | ||||
| Component: | Accessibility | Assignee: | Nobody <webkit-unassigned> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | andresg_22, aroselli, bfulgham, cfleizach, govett, kizmarh, m.goleb+bugzilla, webkit-bug-importer | ||||
| Priority: | P2 | Keywords: | InRadar | ||||
| Version: | WebKit Nightly Build | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Bug Depends on: | 258223, 258430, 258439, 259608 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
|
Description
Tyler Wilcock
2022-04-18 18:41:52 PDT
Test page: https://codepen.io/aardrian/pen/xxGEKKJ Just want to bump this issue — `display: contents` currently properly works on table elements both in Chrome and Firefox, it would be really nice for it to also work in Safari. Note that this affects more than just HTML <table> elements, it also affects any element with role="grid". Created attachment 466544 [details] Video of Safari iPadOS 16.5 navigating assorted tables via swipe-right (with some explore-by-touch to demonstrate cells mid-table). I filed a broader issue: https://bugs.webkit.org/show_bug.cgi?id=257458 It demonstrates how table cells with `flex`, `grid`, and `contents` caus the entire table to be skipped. Table cells with `block` and `inline-block` report incorrect counts, header associations, and row info. STP 174 was just released with table improvements: https://developer.apple.com/documentation/safari-technology-preview-release-notes/stp-release-174#Accessibility With STP 174, I am able to Ctrl-Option-Arrow and Ctrl-Option-A (read-all) through the display:contents table in the testcase created by Adrian (https://cdpn.io/aardrian/debug/xxGEKKJ). > Note that this affects more than just HTML <table> elements, it also affects any element with role="grid". This was indeed true, and should also be addressed in STP 174 (fixed by https://bugs.webkit.org/show_bug.cgi?id=258430) Will leave this open for folks to test STP 174 if interested. Please let me know if you encounter additional issues. Thanks! Using Safari Technology Preview 174 on macOS 13.4.1, I found the following two issues: 1. Tables with display: contents on the <td> and <th> can be navigated into using table navigation (Ctrl + Opt + arrows)., but VoiceOver announces each cell as “blank”. 2. Tables with display: contents on the <td> and <th> do not announce cell contents when using read-all (Ctrl + Opt + A). VoiceOver simply announces the column and row position. (In reply to Adrian Roselli from comment #7) > Using Safari Technology Preview 174 on macOS 13.4.1, I found the following > two issues: > > 1. Tables with display: contents on the <td> and <th> can be navigated into > using table navigation (Ctrl + Opt + arrows)., but VoiceOver announces each > cell as “blank”. > > 2. Tables with display: contents on the <td> and <th> do not announce cell > contents when using read-all (Ctrl + Opt + A). VoiceOver simply announces > the column and row position. These should be fixed by https://bugs.webkit.org/show_bug.cgi?id=259608 which just landed in `main`. Will post here when that fix is in a Safari Technology Preview (but it should also be in the release notes). Thanks! > These should be fixed by https://bugs.webkit.org/show_bug.cgi?id=259608 > which just landed in `main`. Will post here when that fix is in a Safari > Technology Preview (but it should also be in the release notes). Thanks! This fix was just released in STP 176: https://developer.apple.com/documentation/safari-technology-preview-release-notes/stp-release-176 Tested again in Safari Technology Preview 176 on macOS 13.4.1 for *only* the two new issues I found (I am not testing for regressions): 1. WORKS. Tables with display: contents on the <td> and <th> can be navigated into using table navigation (Ctrl + Opt + arrows)., but VoiceOver announces each cell as “blank”. 2. WORKS. Tables with display: contents on the <td> and <th> do not announce cell contents when using read-all (Ctrl + Opt + A). VoiceOver simply announces the column and row position. Again, I *did not* test on iOS/iPadOS. I am happy to see this progress. Closing as this was fixed by: https://bugs.webkit.org/show_bug.cgi?id=258439 https://bugs.webkit.org/show_bug.cgi?id=259608 |