Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

  • This WPT test may be referenced by the following Test IDs:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> CSS Scroll Snap 2 Test: scroll-start-target interaction with fragment-navigation</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<iframe id="frame" src="scroll-start-target-with-fragment-navigation-inner-frame.html#fragment_target"
onload="runTest()"></iframe>
<script>
function runTest() {
test((t) => {
let scroller = frame.contentDocument.scrollingElement;
// fragment_target is at the bottom of the frame so the frame should be
// fully scrolled down to bring it into view (despite middle_box being
// the scroll-start-target).
let expected_scroll_top = scroller.scrollHeight - scroller.clientHeight;
// The scroll-start-target is just below top_box which has a height of
// 60vh.
const scroll_start_target_top = 0.6 * frame.contentWindow.innerHeight;
assert_equals(frame.contentWindow.location.hash, "#fragment_target");
assert_not_equals(scroll_start_target_top, expected_scroll_top);
assert_equals(frame.contentDocument.scrollingElement.scrollTop,
expected_scroll_top);
}, "scroll-start-target does not override hash fragment navigation");
}
</script>
</body>