Status: FAIL | Duration: 57ms | Subtests: 4/8 | Open test on wpt.live | wpt.fyi
Data from commit:
1884860 Copy-on-write style attribute blocks that are in the rule tree (#831) (2026-09-02)
| Subtest | Status | Message |
|---|---|---|
| vertical-lr, scrollbar-width auto | FAIL | assert_less_than: vertical-lr auto scrollHeight expected a number less than 200 but got 200 |
| vertical-lr, scrollbar-width thin | FAIL | assert_less_than: vertical-lr thin scrollHeight expected a number less than 200 but got 200 |
| vertical-lr, scrollbar-width "thin" is same or thinner than "auto" | PASS | |
| vertical-lr, scrollbar-width none | PASS | |
| vertical-rl, scrollbar-width auto | FAIL | assert_less_than: vertical-rl auto scrollHeight expected a number less than 200 but got 200 |
| vertical-rl, scrollbar-width thin | FAIL | assert_less_than: vertical-rl thin scrollHeight expected a number less than 200 but got 200 |
| vertical-rl, scrollbar-width "thin" is same or thinner than "auto" | PASS | |
| vertical-rl, scrollbar-width none | PASS |
/css/css-scrollbars/scrollbar-width-002.html
<!doctype html> <meta charset="utf-8"> <title>CSS Scrollbars: scrollbar-width with vertical text and horizontal scrollbar</title> <link rel="author" title="Felipe Erias Morandeira" href="mailto:felipeerias@gmail.com" /> <link rel="help" href="https://www.w3.org/TR/css-scrollbars-1/" /> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/support/parsing-testcommon.js"></script> <style> /* Use scrollbar-gutter to reserve space for the scrollbar. */ .container { scrollbar-gutter: stable; overflow: auto; height: 200px; width: 200px; margin: 1px; padding: 0px; border: none; background: deepskyblue; } .content { height: 100%; width: 300px; background: lightsalmon; } /* writing directions */ .vertical-lr { writing-mode: vertical-lr; } .vertical-rl { writing-mode: vertical-rl; } .container.auto { scrollbar-width: auto; } .container.thin { scrollbar-width: thin; } .container.none { scrollbar-width: none; } </style> <script type="text/javascript"> function performTest() { setup({ explicit_done: true }); // vertical-lr test(function () { let container = document.getElementById('container_vlr_auto'); let content = document.getElementById('content_vlr_auto'); assert_less_than(container.scrollHeight, container.offsetHeight, "vertical-lr auto scrollHeight"); assert_less_than(container.clientHeight, container.offsetHeight, "vertical-lr auto clientHeight"); assert_equals(container.clientHeight, content.clientHeight, "vertical-lr auto clientHeight"); assert_not_equals(container.offsetHeight, content.offsetHeight, "vertical-lr auto offsetHeight"); }, "vertical-lr, scrollbar-width auto"); test(function () { let container = document.getElementById('container_vlr_thin'); let content = document.getElementById('content_vlr_thin'); assert_less_than(container.scrollHeight, container.offsetHeight, "vertical-lr thin scrollHeight"); assert_less_than(container.clientHeight, container.offsetHeight, "vertical-lr thin clientHeight"); assert_equals(container.clientHeight, content.clientHeight, "vertical-lr thin clientHeight"); assert_not_equals(container.offsetHeight, content.offsetHeight, "vertical-lr thin offsetHeight"); }, "vertical-lr, scrollbar-width thin"); test(function () { let auto_scrollbar_height = document.getElementById('container_vlr_auto').offsetHeight - document.getElementById('container_vlr_auto').clientHeight; let thin_scrollbar_height = document.getElementById('container_vlr_thin').offsetHeight - document.getElementById('container_vlr_thin').clientHeight; assert_less_than_equal(thin_scrollbar_height, auto_scrollbar_height, "vertical-lr, thin <= auto"); }, 'vertical-lr, scrollbar-width "thin" is same or thinner than "auto"'); test(function () { let container = document.getElementById('container_vlr_none'); let content = document.getElementById('content_vlr_none'); assert_equals(container.scrollHeight, 200, "vertical-lr none scrollHeight"); assert_equals(container.clientHeight, 200, "vertical-lr none clientHeight"); assert_equals(container.clientHeight, content.clientHeight, "vertical-lr none clientHeight"); assert_equals(container.offsetHeight, content.offsetHeight, "vertical-lr none offsetHeight"); }, "vertical-lr, scrollbar-width none"); // vertical-rl test(function () { let container = document.getElementById('container_vrl_auto'); let content = document.getElementById('content_vrl_auto'); assert_less_than(container.scrollHeight, container.offsetHeight, "vertical-rl auto scrollHeight"); assert_less_than(container.clientHeight, container.offsetHeight, "vertical-rl auto clientHeight"); assert_equals(container.clientHeight, content.clientHeight, "vertical-rl auto clientHeight"); assert_not_equals(container.offsetHeight, content.offsetHeight, "vertical-rl auto offsetHeight"); }, "vertical-rl, scrollbar-width auto"); test(function () { let container = document.getElementById('container_vrl_thin'); let content = document.getElementById('content_vrl_thin'); assert_less_than(container.scrollHeight, container.offsetHeight, "vertical-rl thin scrollHeight"); assert_less_than(container.clientHeight, container.offsetHeight, "vertical-rl thin clientHeight"); assert_equals(container.clientHeight, content.clientHeight, "vertical-rl thin clientHeight"); assert_not_equals(container.offsetHeight, content.offsetHeight, "vertical-rl thin offsetHeight"); }, "vertical-rl, scrollbar-width thin"); test(function () { let auto_scrollbar_height = document.getElementById('container_vrl_auto').offsetHeight - document.getElementById('container_vrl_auto').clientHeight; let thin_scrollbar_height = document.getElementById('container_vrl_thin').offsetHeight - document.getElementById('container_vrl_thin').clientHeight; assert_less_than_equal(thin_scrollbar_height, auto_scrollbar_height, "vertical-rl, thin <= auto"); }, 'vertical-rl, scrollbar-width "thin" is same or thinner than "auto"'); test(function () { let container = document.getElementById('container_vrl_none'); let content = document.getElementById('content_vrl_none'); assert_equals(container.scrollHeight, 200, "vertical-rl none scrollHeight"); assert_equals(container.clientHeight, 200, "vertical-rl none clientHeight"); assert_equals(container.clientHeight, content.clientHeight, "vertical-rl none clientHeight"); assert_equals(container.offsetHeight, content.offsetHeight, "vertical-rl none offsetHeight"); }, "vertical-rl, scrollbar-width none"); done(); } </script> <body onload="performTest()"> Test scrollbar-width: horizontal scrollbar, vertical-lr direction <div class="container vertical-lr auto" id="container_vlr_auto"> <div class="content" id="content_vlr_auto">auto</div> </div> <div class="container vertical-lr thin" id="container_vlr_thin"> <div class="content" id="content_vlr_thin">thin</div> </div> <div class="container vertical-lr none" id="container_vlr_none"> <div class="content" id="content_vlr_none">none</div> </div> Test scrollbar-width: horizontal scrollbar, vertical-rl direction <div class="container vertical-rl auto" id="container_vrl_auto"> <div class="content" id="content_vrl_auto">auto</div> </div> <div class="container vertical-rl thin" id="container_vrl_thin"> <div class="content" id="content_vrl_thin">thin</div> </div> <div class="container vertical-rl none" id="container_vrl_none"> <div class="content" id="content_vrl_none">none</div> </div> </body>