Safari Table Support - CSS Display Properties Break Tables.
Nobody has claimed this yet.
- Dominant language
- JSON
- Stars
- 5.8k
- Forks
- 2.6k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 186
Description
What type of issue is this?
Incorrect support data (example: Chrome says "86" but support was added in "40")
What information was incorrect, unhelpful, or incomplete?
My intent was to edit the data in here, but I don't understand it:
https://github.com/mdn/browser-compat-data/blob/main/html/elements/table.json
Safari 14 through 16, and probably earlier versions, has a series of bugs where display properties on cells can cause problems with column and row count, header associations, and navigation.
- Tables with
display: flexon the<tr>cannot be navigated into using swipe gestures (swipe right or left). - Tables with
display: flexon the<tr>are skipped when using read-all. - Tables with
display: gridon the<tr>cannot be navigated into using swipe gestures (swipe right or left). - Tables with
display: gridon the<tr>are skipped when using read-all. - Tables with
display: blockon the<td>and<th>give the wrong column count. - Tables with
display: blockon the<td>and<th>announce each<th>with the first<th>when first entering a row. - Tables with
display: blockon the<td>and<th>announce each column header<th>as a row header. - Tables with
display: blockon the<td>and<th>announce each column header<th>as column 1. - Tables with
display: blockon the<td>and<th>announce each<td>with the wrong or no column header. - Tables with
display: blockon the<td>and<th>announce each<td>as column 1. - Tables with
display: inline-blockon the<td>and<th>give the wrong column count. - Tables with
display: inline-blockon the<td>and<th>announce each<th>with the first<th>when first entering a row. - Tables with
display: inline-blockon the<td>and<th>announce each column header<th>as a row header. - Tables with
display: inline-blockon the<td>and<th>announce each column header<th>as column 1. - Tables with
display: inline-blockon the<td>and<th>announce each<td>with no column header. - Tables with
display: inline-blockon the<td>and<th>announce each<td>as column 1. - Tables with
display: contentson the<td>cannot be navigated into using swipe gestures (swipe right or left). - Tables with
display: contentson the<td>are skipped when using read-all.
What browsers does this problem apply to, if applicable?
Safari
What did you expect to see?
The chart should represent that tables are no longer exposed correctly when paired with many CSS display properties.
Did you test this? If so, how?
Test page:
https://cdpn.io/pen/debug/xxGEKKJ
Attached video demonstrates bugs:
https://github.com/mdn/browser-compat-data/assets/1376607/0163a1db-0fc0-4e29-93bb-f430d954ea1f
Can you link to any release notes, bugs, pull requests, or MDN pages related to this?
https://bugs.webkit.org/show_bug.cgi?id=257458
I have also been tracking this since 2020:
https://adrianroselli.com/2022/07/its-mid-2022-and-browsers-mostly-safari-still-break-accessibility-via-display-properties.html
Do you have anything more you want to share?
Related existing issue: css.properties.display - Safari (thru 16) flex, grid, contents problems #17776
MDN URL
No response
MDN metadata
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading html/elements/table.json and the related CSS display issue #17776 to understand how Safari compatibility data is represented. Use the linked test page and WebKit bug 257458 to verify the reported table and accessibility behavior; done means the Safari data reflects the documented display-property problems.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css
- Domain
- accessibility
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100