mdn / mdn/browser-compat-data

Safari Table Support - CSS Display Properties Break Tables.

Open
#19,994 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

acd browser:safari data:css
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.

  1. Tables with display: flex on the <tr> cannot be navigated into using swipe gestures (swipe right or left).
  2. Tables with display: flex on the <tr> are skipped when using read-all.
  3. Tables with display: grid on the <tr> cannot be navigated into using swipe gestures (swipe right or left).
  4. Tables with display: grid on the <tr> are skipped when using read-all.
  5. Tables with display: block on the <td> and <th> give the wrong column count.
  6. Tables with display: block on the <td> and <th> announce each <th> with the first <th> when first entering a row.
  7. Tables with display: block on the <td> and <th> announce each column header <th> as a row header.
  8. Tables with display: block on the <td> and <th> announce each column header <th> as column 1.
  9. Tables with display: block on the <td> and <th> announce each <td> with the wrong or no column header.
  10. Tables with display: block on the <td> and <th> announce each <td> as column 1.
  11. Tables with display: inline-block on the <td> and <th> give the wrong column count.
  12. Tables with display: inline-block on the <td> and <th> announce each <th> with the first <th> when first entering a row.
  13. Tables with display: inline-block on the <td> and <th> announce each column header <th> as a row header.
  14. Tables with display: inline-block on the <td> and <th> announce each column header <th> as column 1.
  15. Tables with display: inline-block on the <td> and <th> announce each <td> with no column header.
  16. Tables with display: inline-block on the <td> and <th> announce each <td> as column 1.
  17. Tables with display: contents on the <td> cannot be navigated into using swipe gestures (swipe right or left).
  18. Tables with display: contents on 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.