scroll-target-group-013.html (2026B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>CSS Overflow Test: scroll-target-group property invalidation of :target-current</title> 4 <link rel="help" href="https://drafts.csswg.org/css-overflow-5/#scroll-target-group"> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="/resources/testdriver.js"></script> 8 <script src="/resources/testdriver-actions.js"></script> 9 <script src="/resources/testdriver-vendor.js"></script> 10 <script src="/css/css-transitions/support/helper.js"></script> 11 <style> 12 #wrapper { 13 position: fixed; 14 left: 0; 15 top: 0; 16 } 17 18 .stg { 19 scroll-target-group: auto; 20 } 21 22 #scroller { 23 overflow: auto; 24 height: 130px; 25 width: 100px; 26 } 27 28 .item { 29 width: 100px; 30 height: 300px; 31 background-color: blue; 32 margin: 5px; 33 } 34 35 a { 36 color: red; 37 } 38 39 a:target-current { 40 color: green; 41 } 42 </style> 43 <div class="item" id="target1"></div> 44 <div class="item" id="target2"></div> 45 <div class="item" id="target3"></div> 46 <div class="item" id="target4"></div> 47 <div id="wrapper" class="stg"> 48 <a id="link1" href="#target1">t1</a> 49 <a id="link2" href="#target2">t2</a> 50 <div id="subwrapper"> 51 <a id="link3" href="#target3">t3</a> 52 <a id="link4" href="#target4">t4</a> 53 </div> 54 </div> 55 <script> 56 // Triggers recalculation of scroll target group relations. 57 link2.addEventListener("click", () => { 58 subwrapper.classList.add("stg"); 59 }); 60 promise_test(async t => { 61 const link2X = link2.getBoundingClientRect().left; 62 const link2Y = link2.getBoundingClientRect().top; 63 await new test_driver.Actions() 64 .pointerMove(link2X, link2Y) 65 .pointerDown() 66 .pointerUp() 67 .send(); 68 await waitForAnimationFrames(2); 69 assert_equals(getComputedStyle(link1).color, "rgb(255, 0, 0)", "link1 shouldn't be :target-current after clicking link2"); 70 assert_equals(getComputedStyle(link2).color, "rgb(0, 128, 0)", "link2 should be :target-current after clicking link2"); 71 }); 72 </script>