65 lines
2.1 KiB
HTML
65 lines
2.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body id="body">
|
|
<p id="par1">A paragraph with a<br />line break in the middle</p>
|
|
<p id="par2">A paragraph with a single line</p>
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<script>
|
|
description("This tests the FOCUSABLE and FOCUSED states for text objects.");
|
|
|
|
if (window.testRunner && window.internals) {
|
|
internals.settings.setCaretBrowsingEnabled(true);
|
|
testRunner.dumpAsText();
|
|
|
|
if (window.accessibilityController) {
|
|
|
|
document.getElementById("body").focus();
|
|
var webArea = accessibilityController.focusedElement;
|
|
|
|
var axPar1 = webArea.childAtIndex(0);
|
|
var axPar2 = webArea.childAtIndex(1);
|
|
|
|
// Check roles and initial states
|
|
shouldBe("axPar1.role", "'AXRole: AXParagraph'");
|
|
shouldBe("axPar2.role", "'AXRole: AXParagraph'");
|
|
shouldBe("axPar1.isFocusable", "true");
|
|
shouldBe("axPar2.isFocusable", "true");
|
|
shouldBe("axPar1.isFocused", "false");
|
|
shouldBe("axPar2.isFocused", "false");
|
|
|
|
// Set caret in the first line of the first paragraph
|
|
var par1 = document.getElementById("par1");
|
|
window.getSelection().setPosition(par1.childNodes.item(0), 10);
|
|
shouldBe("axPar1.isFocused", "true");
|
|
shouldBe("axPar2.isFocused", "false");
|
|
|
|
// Move the caret down to the second line (same paragraph)
|
|
eventSender.keyDown("downArrow");
|
|
shouldBe("axPar1.isFocused", "true");
|
|
shouldBe("axPar2.isFocused", "false");
|
|
|
|
// Move the caret down and up (across different paragraphs)
|
|
eventSender.keyDown("downArrow");
|
|
shouldBe("axPar1.isFocused", "false");
|
|
shouldBe("axPar2.isFocused", "true");
|
|
eventSender.keyDown("upArrow");
|
|
shouldBe("axPar1.isFocused", "true");
|
|
shouldBe("axPar2.isFocused", "false");
|
|
|
|
// Explicitly put the caret in the middle of the second paragraph
|
|
var par2 = document.getElementById("par2");
|
|
window.getSelection().setPosition(par2.childNodes.item(0), 10);
|
|
shouldBe("axPar1.isFocused", "false");
|
|
shouldBe("axPar2.isFocused", "true");
|
|
}
|
|
}
|
|
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|