Contact emails
[email protected]

Explainer
https://github.com/explainers-by-googlers/single-axis-scroll-containers


Specification
https://github.com/w3c/csswg-drafts/pull/13903


Summary
Extends the `overflow` property to support scrollable values together with 
`clip` (for example, `overflow: scroll clip`). This allows `position: sticky` 
to be constrained by different ancestor scroll containers per axis, and gives 
authors a way to ensure an axis using `overflow: clip` stays in place.


Blink component
Blink>Layout


Web Feature ID
overflow


Motivation
The CSS `overflow` property currently allows behavior to be specified per axis, 
but it does not provide a way to make a scroll container responsible for only a 
single axis. The affects features that depend on scroll containers, namely 
`position: sticky` and DOM scroll APIs. For example, authors may want to use 
`position: sticky` to create a table that keeps both the top and left labels in 
view while the user scrolls through large content. Or they may want to create a 
carousel that is visually clipped on one axis, while ensuring that 
`scrollIntoView()` does not unexpectedly move that clipped axis. Please see the 
explainer for more details.


Initial public proposal
https://github.com/w3c/csswg-drafts/issues/865


TAG review
https://github.com/w3ctag/design-reviews/issues/1222


TAG review status
Issues addressed


Goals for experimentation
None


Risks




Interoperability and Compatibility
# overflow: scroll clip overflow: scroll clip used to be converted into 
overflow: scroll hidden, but this will no longer happen, so there is a 
compatibility risk. Please see the analysis for more details. 
(https://docs.google.com/document/d/1_4zPKOQ8S-Ttn-4BTFaIR7YWkkQYNiF_QlTsOK-k7uE/edit?usp=sharing)

Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1418)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/680)

Web developers: Positive (https://github.com/w3c/csswg-drafts/issues/8286) 
https://github.com/w3c/csswg-drafts/issues/9140 
https://github.com/w3c/csswg-drafts/issues/865

Other signals:


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it 
has potentially high risk for Android WebView-based applications?
No information provided



Debuggability
No information provided


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
ChromeOS, Android, and Android WebView)?
Yes


Is this feature fully tested by web-platform-tests?
Yes
https://wpt.fyi/results/?label=master&label=experimental&aligned&q=single-axis


Flag name on about://flags
No information provided


Finch feature name
SingleAxisScrollContainers


Rollout plan
Will ship enabled for all users


Requires code in //chrome?
False


Tracking bug
https://issues.chromium.org/440038212


Measurement
Usage is tracked with one broad use counter and three targeted compat counters: 
SingleAxisScroller 
(https://chromestatus.com/metrics/feature/timeline/popularity/5862): Counts 
every element with overflow clip on one axis and a scrollable value on the 
other — all content this feature could affect. Note that the following three 
have landed quite recently: SingleAxisScrollerOverscrollBehavior 
(https://chromestatus.com/metrics/feature/timeline/popularity/5976): Counts 
those elements that also set a non-auto overscroll-behavior on the clip axis, 
where scroll chaining could change. SingleAxisScrollerPositionSticky 
(https://chromestatus.com/metrics/feature/timeline/popularity/5975): Counts 
sticky elements whose horizontal and vertical constraints now resolve against 
different scroll containers. SingleAxisScrollerAutoMinSize 
(https://chromestatus.com/metrics/feature/timeline/popularity/5977): Counts 
flex/grid items whose automatic minimum size now applies where it previously 
collapsed to zero, so layout can change. The last two fire only when the new 
behavior actually changes something, so if many sites were affected it would 
show directly in these metrics.


Estimated milestones


Shipping on desktop 153

Shipping on Android 153

Shipping on WebView 153




Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (eg links to known github issues in the project 
for the feature specification) whose resolution may introduce web 
compat/interop risk (eg, changing to naming or structure of the API in a 
non-backward-compatible way).
No information provided


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5067363861004288?gate=6477880110481408


Links to previous Intent discussions
Intent to Prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69b81554.050a0220.87ff1.0e40.GAE%40google.com



This intent message was generated by Chrome Platform Status.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a7b693b.dc132f77.2e13a8.076f.GAE%40google.com.

Reply via email to