74 lines
2.8 KiB
HTML
74 lines
2.8 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<body>
|
|
<script src="../resources/js-test-pre.js"></script>
|
|
|
|
<div>
|
|
<input id="text1" type="text" value="Value">
|
|
<input id="checkbox1" type="checkbox" checked>
|
|
<input id="number1" type="number" value="123">
|
|
<input id="radio1" type="radio" checked>
|
|
<input id="slider1" type="range" min="1" max="10" value="5">
|
|
<input id="submit1" type="submit">
|
|
<select id="combobox1"><option>1<option selected>2</select>
|
|
<select multiple id="listbox1"><option>1<option selected>2</select>
|
|
<textarea id="textarea1">Textarea</textarea>
|
|
</div>
|
|
|
|
<div contentEditable>
|
|
<input id="text2" type="text" value="Value">
|
|
<input id="checkbox2" type="checkbox" checked>
|
|
<input id="number2" type="number" value="123">
|
|
<input id="radio2" type="radio" checked>
|
|
<input id="slider2" type="range" min="1" max="10" value="5">
|
|
<input id="submit2" type="submit">
|
|
<select id="combobox2"><option>1<option selected>2</select>
|
|
<select multiple id="listbox2"><option>1<option selected>2</select>
|
|
<textarea id="textarea2">Textarea</textarea>
|
|
</div>
|
|
|
|
<div id="console"></div>
|
|
<script>
|
|
description("This tests whether AXValue is writable for various form controls.");
|
|
|
|
if (window.testRunner && window.accessibilityController) {
|
|
jsTestIsAsync = true;
|
|
window.testRunner.dumpAsText();
|
|
|
|
function check(ids, expect, index) {
|
|
if (index >= ids.length)
|
|
finishJSTest();
|
|
|
|
id = ids[index];
|
|
window.element = document.getElementById(id);
|
|
element.focus();
|
|
setTimeout(function() {
|
|
debug(id);
|
|
shouldBe("document.activeElement == element", "true");
|
|
window.axElement = accessibilityController.focusedElement;
|
|
shouldBe("axElement.isAttributeSettable('AXValue')", String(expect[index]));
|
|
|
|
check(ids, expect, ++index);
|
|
}, 0);
|
|
}
|
|
|
|
var ids = ["text1", "text2", "number1", "number2", "textarea1", "textarea2", "slider1", "slider2", "checkbox1", "checkbox2", "radio1", "radio2", "submit1", "submit2", "combobox1", "combobox2", "listbox1", "listbox2"];
|
|
// All text-like form controls and slider should have a writable AXValue.
|
|
// Other controls whose contents or state can be user modified should have a read-only
|
|
// AXValue for non-ATK-based platforms, unless those controls are inside contentEditable,
|
|
// then everything should have a writable AXValue.
|
|
var expect;
|
|
if (accessibilityController.platformName != "atk")
|
|
expect = [true, true, true, true, true, true, true, true, false, true, false, true, false, true, false, true, false, true];
|
|
else
|
|
expect = [true, true, true, true, true, true, true, true, true, true, true, true, false, true, true, true, true, true];
|
|
|
|
check(ids, expect, 0);
|
|
}
|
|
|
|
</script>
|
|
|
|
<script src="../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|