65 lines
2.6 KiB
HTML
65 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
|
|
<input type="text" id="textfield" value="textfield text">
|
|
<br>
|
|
<textarea id="textarea">text area text</textarea>
|
|
outside text
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
description("This tests that the select text mechanism will not return results outside of a text input control.");
|
|
|
|
if (window.accessibilityController) {
|
|
var textfield = accessibilityController.accessibleElementById("textfield");
|
|
var windowSelection = window.getSelection();
|
|
|
|
document.getElementById("textfield").focus();
|
|
document.getElementById("textfield").setSelectionRange(0, 0);
|
|
|
|
// Try to select text inside the text field.
|
|
result = textfield.selectTextWithCriteria("AXSelectTextAmbiguityResolutionClosestToSelection", "textfield");
|
|
shouldBe("result", "'textfield'");
|
|
shouldBe("document.getElementById('textfield').selectionStart", "0");
|
|
shouldBe("document.getElementById('textfield').selectionEnd", "9");
|
|
|
|
document.getElementById("textfield").setSelectionRange(0, 0);
|
|
|
|
// Try to select text outside the focused text field. It should fail.
|
|
result = textfield.selectTextWithCriteria("AXSelectTextAmbiguityResolutionClosestToSelection", "outside");
|
|
shouldBe("result", "''");
|
|
shouldBe("document.getElementById('textfield').selectionStart", "0");
|
|
shouldBe("document.getElementById('textfield').selectionEnd", "0");
|
|
|
|
// Do the same for text area
|
|
document.getElementById("textarea").focus();
|
|
document.getElementById("textarea").setSelectionRange(0, 0);
|
|
|
|
var textarea = accessibilityController.accessibleElementById("textarea");
|
|
|
|
// Try to select text inside the text field.
|
|
result = textarea.selectTextWithCriteria("AXSelectTextAmbiguityResolutionClosestToSelection", "text area");
|
|
shouldBe("result", "'text area'");
|
|
shouldBe("document.getElementById('textarea').selectionStart", "0");
|
|
shouldBe("document.getElementById('textarea').selectionEnd", "9");
|
|
|
|
document.getElementById("textarea").setSelectionRange(0, 0);
|
|
|
|
// Try to select text outside the focused text field. It should fail.
|
|
result = textarea.selectTextWithCriteria("AXSelectTextAmbiguityResolutionClosestToSelection", "outside");
|
|
shouldBe("result", "''");
|
|
shouldBe("document.getElementById('textarea').selectionStart", "0");
|
|
shouldBe("document.getElementById('textarea').selectionEnd", "0");
|
|
}
|
|
</script>
|
|
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|