Status: FAIL | Duration: 51ms | Subtests: 0/2 | Open test on wpt.live | wpt.fyi
Data from commit:
a50cb89 wpt: run reference-named files which are themselves tests (#836) (2026-09-03)
| Subtest | Status | Message |
|---|---|---|
| ::scroll-marker is not activated when its originating element is not scrolled into the view | FAIL | promise_test: Unhandled rejection with value: object "TypeError: cannot convert 'null' or 'undefined' to object" |
| ::scroll-marker is activated when its originating element is scrolled into the view | FAIL | promise_test: Unhandled rejection with value: object "TypeError: cannot convert 'null' or 'undefined' to object" |
/css/css-overflow/scroll-markers/scroll-marker-controls-scroll-tracking-001.html
<!DOCTYPE html> <meta charset="utf-8"> <title>CSS Test: scroll tracking for ::scroll-marker </title> <link rel="help" href="https://drafts.csswg.org/css-overflow-5/#scroll-container-scroll"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/css-transitions/support/helper.js"></script> <style> #scroller { overflow: scroll; scroll-marker-group: before; height: 100px; } #scroller::scroll-marker-group { border: 3px solid black; display: flex; width: 100px; height: 20px; } #scroller div { width: 100px; height: 100px; } #scroller div::scroll-marker { content: ''; background-color: red; display: inline-flex; width: 10px; height: 10px; border-radius: 50%; } #scroller div::scroll-marker:target-current { background-color: green; } </style> <div id='scroller'> <div></div> <div id='target'></div> </div> <script> function assertPseudoElementProperty(originatingElement, pseudoType, backgroundColor) { const pseudoStyle = getComputedStyle(originatingElement, pseudoType); const pseudoBackgroundColor = pseudoStyle.getPropertyValue('background-color'); assert_equals(pseudoBackgroundColor, backgroundColor, pseudoType + " background-color should be " + backgroundColor.toString() + " but was " + pseudoBackgroundColor.toString()); } promise_test(async () => { await waitForAnimationFrames(2); assertPseudoElementProperty(target, "::scroll-marker", "rgb(255, 0, 0)"); }, "::scroll-marker is not activated when its originating element is not scrolled into the view"); promise_test(async () => { scroller.scrollTop = 150; await waitForAnimationFrames(2); assertPseudoElementProperty(target, "::scroll-marker", "rgb(0, 128, 0)"); }, "::scroll-marker is activated when its originating element is scrolled into the view"); </script>