Status: FAIL | Duration: 20ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-overflow/scroll-markers/scroll-marker-group-snap-aligns-to-active.tentative.html
<!DOCTYPE html> <html class="reftest-wait"> <head> <title>CSS Test: active :scroll-markers is snap-aligned when scroll-marker-group is scrollable </title> <link rel="help" href="https://drafts.csswg.org/css-overflow-5/#active-scroll-marker"> <link rel="match" href="scroll-marker-group-snap-aligns-to-active-ref.html"> <script src="/css/css-transitions/support/helper.js"></script> <script src="/dom/events/scrolling/scroll_support.js"></script> <script src="/common/reftest-wait.js"></script> </head> <body> <style> * { margin: 0px; } .scroller { height: 500px; width: 80vw; border: solid 1px; overflow-x: scroll; justify-self: center; white-space: nowrap; padding-top: 50px; scroll-snap-type: x mandatory; scroll-marker-group: after; &::scroll-marker-group { border: solid 1px black; height: 40px; width: 500px; display: grid; scroll-snap-type: x mandatory; grid-auto-flow: column; justify-self: center; overflow-x: scroll; white-space: nowrap; } counter-set: markeridx -1; } .box { height: 400px; width: 50%; border: 1px solid; display: inline-block; margin-left: 100px; margin-right: 100px; scroll-snap-align: center; align-content: center; text-align: center; &::scroll-marker { content: counter(markeridx); counter-increment: markeridx; width: 20px; height: 20px; background-color: red; margin-right: 100px; scroll-snap-align: center; } &::scroll-marker:target-current { background-color: green; } } </style> <div class="scroller" id="carousel"> <div class="box" id="box0"><p>0</p></div> <div class="box" id="box1"><p>1</p></div> <div class="box" id="box2"><p>2</p></div> <div class="box" id="box3"><p>3</p></div> <div class="box" id="box4"><p>4</p></div> <div class="box" id="box5"><p>5</p></div> <div class="box" id="box6"><p>6</p></div> <div class="box" id="box7"><p>7</p></div> <div class="box" id="box8"><p>8</p></div> <div class="box" id="box9"><p>9</p></div> <div class="box" id="box10"><p>10</p></div> <div class="box" id="box11"><p>11</p></div> <div class="box" id="box12"><p>12</p></div> <div class="box" id="box13"><p>13</p></div> <div class="box" id="box14"><p>14</p></div> <div class="box" id="box15"><p>15</p></div> </div> <script> async function runTest() { const scrollend_promise = waitForScrollEndFallbackToDelayWithoutScrollEvent(carousel); // When box3 is scrolled into view, the scroll-marker-group should scroll // to ensure that its corresponding marker is scrolled into view. box3.scrollIntoView(); await scrollend_promise; takeScreenshot(); } waitForCompositorReady().then(runTest); </script> </body> </html>
/css/css-overflow/scroll-markers/scroll-marker-group-snap-aligns-to-active-ref.html
<!DOCTYPE html> <html> <body> <style> * { margin: 0px; } .scroller { height: 500px; width: 80vw; border: solid 1px; overflow-x: scroll; justify-self: center; white-space: nowrap; padding-top: 50px; scroll-snap-type: x mandatory; counter-set: markeridx -1; } .scroll-marker-group { border: solid 1px black; height: 40px; width: 500px; display: grid; grid-auto-flow: column; justify-self: center; overflow-x: scroll; white-space: nowrap; scroll-snap-type: x mandatory; } .box { height: 400px; width: 50%; border: 1px solid; display: inline-block; margin-left: 100px; margin-right: 100px; scroll-snap-align: none; align-content: center; text-align: center; &::scroll-marker:target-current { background-color: green; } } .scroll-marker { content: counter(markeridx); counter-increment: markeridx; width: 20px; height: 20px; background-color: red; text-align: center; margin-right: 100px; } #box3 { scroll-snap-align: center; } #marker3 { scroll-snap-align: center; } .green { background-color: green } </style> <div class="scroller" id="carousel"> <div class="box" id="box0"><p>0</p></div> <div class="box" id="box1"><p>1</p></div> <div class="box" id="box2"><p>2</p></div> <div class="box" id="box3"><p>3</p></div> <div class="box" id="box4"><p>4</p></div> <div class="box" id="box5"><p>5</p></div> <div class="box" id="box6"><p>6</p></div> <div class="box" id="box7"><p>7</p></div> <div class="box" id="box8"><p>8</p></div> <div class="box" id="box9"><p>9</p></div> <div class="box" id="box10"><p>10</p></div> <div class="box" id="box11"><p>11</p></div> <div class="box" id="box12"><p>12</p></div> <div class="box" id="box13"><p>13</p></div> <div class="box" id="box14"><p>14</p></div> <div class="box" id="box15"><p>15</p></div> </div> <div class="scroll-marker-group" id="marker-group"> <div class="scroll-marker" id="marker0"><a href="#">0</a></div> <div class="scroll-marker" id="marker1"><a href="#">1</a></div> <div class="scroll-marker" id="marker2"><a href="#">2</a></div> <div class="green scroll-marker" id="marker3"><a href="#">3</a></div> <div class="scroll-marker" id="marker4"><a href="#">4</a></div> <div class="scroll-marker" id="marker5"><a href="#">5</a></div> <div class="scroll-marker" id="marker6"><a href="#">6</a></div> <div class="scroll-marker" id="marker7"><a href="#">7</a></div> <div class="scroll-marker" id="marker8"><a href="#">8</a></div> <div class="scroll-marker" id="marker9"><a href="#">9</a></div> <div class="scroll-marker" id="marker10"><a href="#">10</a></div> <div class="scroll-marker" id="marker11"><a href="#">11</a></div> <div class="scroll-marker" id="marker12"><a href="#">12</a></div> <div class="scroll-marker" id="marker13"><a href="#">13</a></div> <div class="scroll-marker" id="marker14"><a href="#">14</a></div> <div class="scroll-marker" id="marker15"><a href="#">15</a></div> </div> </body> </html>