90 lines
3.9 KiB
HTML
90 lines
3.9 KiB
HTML
<html>
|
|
<script src="../resources/js-test.js"></script>
|
|
<body>
|
|
|
|
<div id="content">
|
|
|
|
<!-- Test radio group without a form-->
|
|
<form>
|
|
<input type="radio" id="test1_Yes" name="test1">Yes<BR>
|
|
<input type="radio" id="test1_No" name="test1">No<BR>
|
|
<input type="radio" id="test1_Maybe" name="test1">Maybe<BR>
|
|
</form>
|
|
<br><br>
|
|
|
|
<!-- Test radio group without a form -->
|
|
<input type="radio" id="test2_Yes" name="test2">Yes<BR>
|
|
<input type="radio" id="test2_No" name="test2">No<BR>
|
|
<br><br>
|
|
|
|
<!-- Test radio group with labels -->
|
|
<form>
|
|
<input type="radio" id="test3_Yes" name="test3"><label for="test3_Yes">Yes</label><BR>
|
|
<input type="radio" id="test3_No" name="test3"><label for="test3_No">No</label><BR>
|
|
</form>
|
|
<br><br>
|
|
|
|
<!-- Test different radio groups -->
|
|
<form>
|
|
<input type="radio" id="test4_Yes" name="test4">Yes<BR>
|
|
<input type="radio" id="test5_No" name="test5">No<BR>
|
|
</form>
|
|
<br><br>
|
|
|
|
<!-- Test radiogroup parentage -->
|
|
<div class="radiogroup" role="radiogroup" id="radiogroup">
|
|
<div>
|
|
<div role="radio" id="ariaradio1" aria-checked="true">Radio 1</div>
|
|
<div role="radio" id="ariaradio2" aria-checked="false">Radio 2</div>
|
|
<div role="radio" aria-checked="false">Radio 3</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
if (window.accessibilityController) {
|
|
var result = document.getElementById("result");
|
|
|
|
description("This tests that linked UI elements withing a radio group work");
|
|
|
|
debug("Radio buttons within the same named group should be able to access their siblings");
|
|
var test1 = accessibilityController.accessibleElementById("test1_Yes");
|
|
shouldBeTrue("test1.linkedUIElementAtIndex(0).isEqual(test1)");
|
|
shouldBeTrue("test1.linkedUIElementAtIndex(1).isEqual(accessibilityController.accessibleElementById('test1_No'))");
|
|
shouldBeTrue("test1.linkedUIElementAtIndex(2).isEqual(accessibilityController.accessibleElementById('test1_Maybe'))");
|
|
debug("\n");
|
|
|
|
debug("Radio buttons that are not in a form, but in the same named group should be able to access their siblings");
|
|
var test2 = accessibilityController.accessibleElementById("test2_Yes");
|
|
shouldBeTrue("test2.linkedUIElementAtIndex(0).isEqual(test2)");
|
|
shouldBeTrue("test2.linkedUIElementAtIndex(1).isEqual(accessibilityController.accessibleElementById('test2_No'))");
|
|
debug("\n");
|
|
|
|
debug("Radio buttons labeled by <label> should be able to access their siblings");
|
|
var test3 = accessibilityController.accessibleElementById("test3_Yes");
|
|
shouldBeTrue("test3.linkedUIElementAtIndex(0).isEqual(test3)");
|
|
shouldBeTrue("test3.linkedUIElementAtIndex(1).isEqual(accessibilityController.accessibleElementById('test3_No'))");
|
|
debug("\n");
|
|
|
|
debug("Radio buttons not in a groups should not have siblings (the first linked element is itself)");
|
|
var test4 = accessibilityController.accessibleElementById("test4_Yes");
|
|
shouldBeTrue("test4.linkedUIElementAtIndex(0).isEqual(test4)");
|
|
shouldBeTrue("!test4.linkedUIElementAtIndex(1) || !test4.linkedUIElementAtIndex(1).isValid");
|
|
debug("\n");
|
|
|
|
debug("Radio buttons that just have aria roles should work.");
|
|
var ariaRadio1 = accessibilityController.accessibleElementById("ariaradio1");
|
|
var ariaRadio2 = accessibilityController.accessibleElementById("ariaradio2");
|
|
shouldBeTrue("ariaRadio1.linkedUIElementAtIndex(0).isEqual(ariaRadio1)");
|
|
shouldBeTrue("ariaRadio1.linkedUIElementAtIndex(1).isEqual(ariaRadio2)");
|
|
|
|
document.getElementById("content").style.visibility = "hidden";
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|