← back to v153 · scroll-axis-lock

conformance · v153

v153 · scroll-axis-lock — conformance probe

6 assertions drawn from the spec. Each is a single contract the spec text makes. Pass/fail reflects what this browser executed; blocked means the contract was not run because it needs user mediation, hardware, or another unavailable precondition. Open the page in Chrome stable / canary / Firefox / Safari to compare.

browser: spec: https://github.com/w3c/csswg-drafts/pull/14152 chromestatus: #5908461532610560 generated 2026-08-28T00:00:00Z by claude-opus-5-v153-build
0
pass
0
fail
0
blocked
6
total
id contract kind verdict detail
scroll-axis-lock-none-parses The keyword that carries the feature: the user agent must not lock scrolls on the element to one axis. spec ↗ css-supports
scroll-axis-lock-auto-parses The initial value: the user agent may lock. Permission rather than a promise, which is why device behaviour still varies under it. spec ↗ css-supports
invalid-keywords-are-rejected The grammar is auto | none and nothing else. A browser that accepts an invented keyword is not parsing the property, and a support check that only tests a valid value cannot tell the difference. spec ↗ script
initial-value-is-auto A scroll container that says nothing must compute to auto, so adopting the property is opt-in and no existing scroller changes behaviour. spec ↗ script
the-declared-value-round-trips Declaring none on a scroll container must compute to none. Anything else would mean the declaration was parsed and then discarded. spec ↗ script
programmatic-scrolling-is-never-locked Axis locking is a decision about a user gesture, so scrollBy must move both axes regardless of the property. This is the control the recorder demo rests on: if a scripted diagonal came out axis-aligned, the recorder would be measuring something else entirely. spec ↗ script