WPT
wpt / html / semantics / the-button-element / command-and-commandfor / on-scroll-behavior.tentative.html
Spec: HTML ↗
Runs: Chrome 155.0.8042.0 (wpt@a1ecd0c09, 2026-09-04) | Firefox 157.0a1 (wpt@e23cee339, 2026-09-04) | Safari 251 preview (wpt@e7122b73f, 2026-09-04) | Ladybird 1.0-52f0f (wpt@0588f3896, 2026-09-04) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 19/35 | 19/35 | 19/35 | 19/35 | 19/35 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| page-up command scrolls up | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| page-down command scrolls down | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| page-left command scrolls left | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| page-right command scrolls right | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| page-up command doesn't affect horizontal scroll | PASS | PASS | PASS | PASS | PASS | — |
| page-left command doesn't affect vertical scroll | PASS | PASS | PASS | PASS | PASS | — |
| page-right works on horizontal-only container | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| page-down works on vertical-only container | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| page-block-end scrolls down in horizontal writing mode | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| page-block-start scrolls up in horizontal writing mode | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| page-inline-end scrolls right in LTR | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| page-inline-start scrolls left in LTR | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| page-inline-end works in RTL container | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| scroll command is case-insensitive: page-up | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| scroll command is case-insensitive: PAGE-UP | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| scroll command is case-insensitive: PaGe-Up | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| preventDefault stops scroll command | PASS | PASS | PASS | PASS | PASS | — |
| scroll command requires valid commandfor target | PASS | PASS | PASS | PASS | PASS | — |
| scroll command on non-scrollable element does nothing | PASS | PASS | PASS | PASS | PASS | — |
| scroll amount is approximately one page | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| scroll command with non-existent commandfor target doesn't throw | PASS | PASS | PASS | PASS | PASS | — |
| scroll command with empty commandfor doesn't throw | PASS | PASS | PASS | PASS | PASS | — |
| scroll command with whitespace commandfor doesn't throw | PASS | PASS | PASS | PASS | PASS | — |
| scroll command with disconnected target element doesn't throw | PASS | PASS | PASS | PASS | PASS | — |
| scroll command targeting self doesn't throw | PASS | PASS | PASS | PASS | PASS | — |
| scroll command on display:none element does nothing | PASS | PASS | PASS | PASS | PASS | — |
| scroll command handles elements with unusual document state | PASS | PASS | PASS | PASS | PASS | — |
| disabled button doesn't trigger scroll command | PASS | PASS | PASS | PASS | PASS | — |
| multiple buttons can target same scroll container | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| scroll command at top boundary doesn't throw | PASS | PASS | PASS | PASS | PASS | — |
| scroll command at bottom boundary doesn't throw | PASS | PASS | PASS | PASS | PASS | — |
| invalid scroll command value doesn't trigger scroll | PASS | PASS | PASS | PASS | PASS | — |
| empty command attribute doesn't trigger scroll | PASS | PASS | PASS | PASS | PASS | — |
| scroll command on overflow:visible element does nothing | PASS | PASS | PASS | PASS | PASS | — |
| scroll command on overflow:clip element does nothing | PASS | PASS | PASS | PASS | PASS | — |