| <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> |