59 lines
1.9 KiB
HTML
59 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
|
|
<a href="#fragment1" id="link1" tabindex="0">link1</a>
|
|
<a href="#fragment2" id="link2" tabindex="0">link2</a>
|
|
|
|
<br><br>
|
|
|
|
<div id="fragment1" name="fragment1" tabindex="0">fragment1</div>
|
|
<div id="fragment2" name="fragment2">fragment2</div>
|
|
<div id="fragment3" name="fragment3" tabindex="0">fragment3</div>
|
|
|
|
<script>
|
|
|
|
description("This tests that if an in-page link is activated, focus control is transferred to the fragment if possible.");
|
|
|
|
var link1 = document.getElementById("link1");
|
|
link1.focus();
|
|
debug("Verify that the focus is on the link.");
|
|
shouldBe("document.activeElement", "link1");
|
|
|
|
link1.click();
|
|
debug("Click the link and verify that focus has moved to the fragment.");
|
|
shouldBe("document.activeElement", "document.getElementById('fragment1')");
|
|
|
|
debug("Move focus back to the link and verify.");
|
|
link1.focus();
|
|
shouldBe("document.activeElement", "link1");
|
|
|
|
if (window.testRunner) {
|
|
debug("Send an enter key event which should also trigger focus to move to the fragment.");
|
|
eventSender.keyDown("\r");
|
|
shouldBe("document.activeElement", "document.getElementById('fragment1')");
|
|
|
|
debug("Verify Tab behaves correctly after following the link.");
|
|
eventSender.keyDown("\t");
|
|
shouldBe("document.activeElement", "document.getElementById('fragment3')");
|
|
eventSender.keyDown("\t", ["shiftKey"]);
|
|
shouldBe("document.activeElement", "document.getElementById('fragment1')");
|
|
}
|
|
|
|
debug("Activate a link that does not have a focusable fragment and verify that the currently focused element is unfocused.");
|
|
var link2 = document.getElementById("link2");
|
|
link2.focus();
|
|
shouldBe("document.activeElement", "link2");
|
|
link2.click();
|
|
shouldBe("document.activeElement", "document.body");
|
|
|
|
var successfullyParsed = true;
|
|
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|