CSS Scroll Snap Module Level 1 CR Test Suite

Capturing Scroll Snap Areas: Properties on the scroll container (24 tests)

Test Refs Flags Info
+ 4 Capturing Scroll Snap Areas: Properties on the scroll container
+ 4.1 Scroll Snapping Rules: the scroll-snap-type property
keyboard RecommendScript Arrow key scroll snapping
  • Test passes if keyboard scrolling correctly snaps on a snap container
nested-scrollintoview-snaps Script
overflowing-snap-areas Script
scroll-snap-root-001 = scroll-snap-type + scroll-padding propagates root to viewport
  • Test passes if scroll snap properties on root are applied to viewport.
scroll-snap-root-002 = scroll-padding does not propagate body to viewport
  • Test passes if scroll-snap-padding on body is not applied to viewport.
scroll-snap-root-003 = scroll-snap-type does not propagate body to viewport
  • Test passes if scroll-snap-type on body is not applied to viewport.
scroll-snap-type-on-root-element Script
scrollto-scrollby-snaps Script
snap-at-user-scroll-end Script Tests that window should snap at user scroll end.
snap-inline-block Script
snap-to-transformed-target Script
scroll-snap-type-computed Script CSS Scroll Snap: getComputedStyle().scrollSnapType
  • scroll-snap-type computed value is as specified.
scroll-snap-type-invalid Script scroll-snap-type with invalid values
  • scroll-snap-type supports only the grammar 'none | [ x | y | block | inline | both ] [ mandatory | proximity ]?'.
scroll-snap-type-valid Script scroll-snap-type with valid values
  • scroll-snap-type supports the full grammar 'none | [ x | y | block | inline | both ] [ mandatory | proximity ]?'.
+ 4.1.1 Scroll Snap Axis: the x, y, block, inline, and both values
+ 4.1.2 Scroll Snap Strictness: the none, proximity, and mandatory values
no-snap-position Script
+ 4.1.3 Re-snapping After Layout Changes
+ 4.2 Scroll Snapport: the scroll-padding property
scroll-padding Script
scroll-snap-root-001 = scroll-snap-type + scroll-padding propagates root to viewport
  • Test passes if scroll snap properties on root are applied to viewport.
scroll-snap-root-002 = scroll-padding does not propagate body to viewport
  • Test passes if scroll-snap-padding on body is not applied to viewport.
scroll-snap-root-003 = scroll-snap-type does not propagate body to viewport
  • Test passes if scroll-snap-type on body is not applied to viewport.
scroll-target-padding-001 = #target and scroll-padding with snapping off (y-axis)
  • Test passes if scroll-padding is honored on a scroll container with 'scroll-snap-type: none' when navigating to an element with the target fragment ID.
scroll-target-padding-002 = scrollIntoView() and scroll-padding with snapping off (y-axis)
  • Test passes if scroll-padding is honored on a scroll container with 'scroll-snap-type: none' when scrolling an element into view explicitly by script.
scrollintoview-scrollpadding Script CSSOM View - scrollIntoView considers scroll-padding
scroll-padding-affects-anchoring Script scroll anchoring accounts for scroll-padding
scroll-padding-computed Script CSS Scroll Snap: getComputedStyle().scrollPadding
  • scroll-padding computed value is per side, either the keyword auto or a computed <length-percentage> value.
scroll-padding-invalid Script scroll-padding with invalid values
  • scroll-padding supports only the grammar '[ <length-percentage> | auto ]{1,4}'.
scroll-padding-shorthand Script scroll-padding sets longhands
  • scroll-padding supports the full grammar '[ <length-percentage> | auto ]{1,4}'.
scroll-padding-valid Script scroll-padding with valid values
  • scroll-padding supports the full grammar '[ <length-percentage> | auto ]{1,4}'.