w3c / w3c/csswg-drafts

[css-tables] `overflow` override needs to handle `overflow-x` and `overflow-y`

Open
#10,885 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Closed Accepted by Editor Discretion css-overflow-3 css-tables-3 Needs Edits
Dominant language
Bikeshed
Stars
4.9k
Forks
816
PR merge metrics
PR metrics pending

Description

For overflow: scroll and overflow: auto, https://www.w3.org/Style/css2-updates/REC-CSS2-20110607-errata.html#s.11.1.1b says

When used on table boxes, this value has the same meaning as 'visible'.

And equivalently from https://drafts.csswg.org/css-tables/#global-style-overrides

The overflow property on the table-root and table-wrapper box, when its value is not either visible, clip or hidden, is ignored and treated as if its value was visible.

However, overflow was a longhand on CSS2. css-overflow turned it into a shorthand, with the invariant that both overflow-x and overflow-y need to have consistent scrollability. So if one axis has a scrollable value (hidden, auto or scroll) and the other axis has a non-scrollable value (visible or clip), then the latter becomes scrollable (visibleauto, cliphidden).

Then we need to preserve this invariant. If one axis computes to scroll or auto, then the other axis must also compute to a scrollable value. So if we make the former one behave as the non-scrollable visible, we have a scrollability mismatch. Browsers agree that then both axes must behave as visible.

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 with the CSS Tables global style overrides section and the linked CSS Overflow definition of overflow-x and overflow-y. Compare the stated scrollability invariant with the behavior described for table-root and table-wrapper boxes, including the browser behavior noted in the issue. Done means the specification clearly defines how both axes behave when one would otherwise become scrollable.

Written by the indexing model from the issue text.

Assessment

Tech stack
css
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.