#1222: Other Spec Review: Single-Axis Scroll Containers
Discussions
Log in to see TAG-private discussions.
Comment by @freedebreuil Jun 4, 2026 (See Github)
Draft spec PR is now available: https://github.com/w3c/csswg-drafts/pull/13903
OpenedApr 24, 2026
Specification
https://github.com/w3c/csswg-drafts/pull/13903
CSSWG discussion: https://github.com/w3c/csswg-drafts/issues/12289
Explainer
https://github.com/explainers-by-googlers/single-axis-scroll-containers
Links
A common issue web developers run into is creating a table with labels on the top and left sides, and needing to keep those labels visible both as the table scrolls horizontally and the page scrolls vertically. Without this, users can lose context while scrolling large tables, especially on mobile.
position: stickyis widely used for this, but it has the limitation that both axes must stick to the same scroller.Another common issue is when creating a scrollable container that should move in only one direction, developers have no way guarantee that the off-axis stays in place. Historically, when even one
overflowaxis is given a scrollable value, CSSoverflowalso converts the other axis to a scrollable value. This leads to issues when calling DOM scroll APIs such asscrollIntoView(), where the off-axis can move unintentionally.Please see the explainer for details.
Explainer Alternatives Considered
Explainer Proposal and Examples
Developers can create real single axis scroll containers matching users expectations when using them. End-users can keep labels on both axes visible as they scroll a large table on a mobile device. They do not see what appears to be a buggy offset of items when navigating to an off-screen carousel item. They see web pages that are easier to understand and use.
User research you did to validate the problem and/or design, if any:
Developer feedback:
Web Platform Tests:
wpt.fyi/results/css/css-position/sticky/position-sticky-single-axis-basic.html wpt.fyi/results/css/css-position/sticky/position-sticky-single-axis-dynamic-axis-change-crash.html wpt.fyi/results/css/css-position/sticky/position-sticky-single-axis-dynamic.html wpt.fyi/results/css/css-position/sticky/position-sticky-single-axis-nested.html wpt.fyi/results/css/css-position/sticky/position-sticky-single-axis-used-values.html wpt.fyi/results/css/css-overflow/single-axis-scroll-apis.html
The specification
Where and by whom is the work is being done?
Feedback so far
You should also know that...
None.
<!-- Content below this is maintained by @w3c-tag-bot -->Track conversations at https://tag-github-bot.w3.org/gh/w3ctag/design-reviews/1222