[csswg-drafts] [css-tables] `overflow` override needs to handle p overflow-x` and `overflow-y` (#10885)

Loirooriol has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-tables] `overflow` override needs to handle p overflow-x` and `overflow-y` ==
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,](https://www.w3.org/TR/2011/REC-CSS2-20110607/tables.html#table-box) this value has the same meaning as 'visible'.

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

> The [overflow](https://drafts.csswg.org/css-overflow-3/#propdef-overflow) property on the [table-root](https://drafts.csswg.org/css-tables/#table-root-element) and [table-wrapper](https://drafts.csswg.org/css-tables/#table-wrapper-box) 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 (`visible` → `auto`, `clip` → `hidden`).

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`.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10885 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 12 September 2024 22:07:01 UTC