OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script src="../resources/js-test.js"></script> | 3 <script src="../resources/js-test.js"></script> |
4 </head> | 4 </head> |
5 <script> | 5 <script> |
6 if (window.testRunner) | 6 if (window.testRunner) |
7 testRunner.dumpAsText(); | 7 testRunner.dumpAsText(); |
8 </script> | 8 </script> |
9 <body> | 9 <body> |
10 | 10 |
11 <p id="description"></p> | 11 <p id="description"></p> |
12 <div id="console"></div> | 12 <div id="console"></div> |
13 | 13 |
14 <input type="radio" name="r1" id="r1" title="TITLE">Test<br> | 14 <input type="radio" name="r1" id="r1" title="TITLE">Test<br> |
15 <label for="r1">LABEL</label> | 15 <label for="r1">LABEL</label> |
16 | 16 |
17 <input type="radio" id="r2" aria-labeledby="label3">Test<br> | 17 <input type="radio" id="r2" aria-labeledby="label3">Test<br> |
18 <label for="r2">LABEL2</label> | 18 <label for="r2">LABEL2</label> |
19 <div id="label3">LABEL2a</div> | 19 <div id="label3">LABEL2a</div> |
20 | 20 |
21 <input type="radio" name="r3" id="r3" aria-label="radio3">Test<br> | 21 <input type="radio" name="r3" id="r3" aria-label="radio3">Test<br> |
22 <label for="r3">LABEL3</label> | 22 <label for="r3">LABEL3</label> |
23 | 23 |
24 <script> | 24 <script> |
25 | 25 |
26 description("This test checks that radio buttons expose title ui element
s correctly under a variety of cirmcumstances. In general, the <label> should di
sappear and act as the title for the radio button."); | 26 description("This test checks that radio buttons expose title ui element
s correctly under a variety of cirmcumstances. In general, the <label> should di
sappear and act as the title for the radio button."); |
27 | 27 |
28 if (window.accessibilityController) { | 28 if (window.accessibilityController) { |
29 | 29 |
30 // radio button 1 | 30 // radio button 1 |
31 document.getElementById("r1").focus(); | 31 document.getElementById("r1").focus(); |
32 | 32 |
33 // 1) Even though a checkbox has a title attribute, the title ui ele
ment should still be exposed. | 33 // 1) Even though a checkbox has a title attribute, the title ui ele
ment should still be exposed. |
34 var focusedElement = accessibilityController.focusedElement; | 34 var focusedElement = accessibilityController.focusedElement; |
35 var titleUIElement = focusedElement.deprecatedTitleUIElement(); | 35 var titleUIElement = focusedElement.nameElementAtIndex(0); |
36 shouldBe("focusedElement.deprecatedTitle", "'AXTitle: LABEL'"); | 36 shouldBe("focusedElement.name", "'LABEL'"); |
37 shouldBeTrue("!titleUIElement || titleUIElement.deprecatedTitle == '
AXTitle: '"); | 37 shouldBeTrue("!titleUIElement || titleUIElement.name == ''"); |
38 | 38 |
39 // 2) aria-labeledby should override the native label semantics and
return a title for the radio button, instead of a title ui element. | 39 // 2) aria-labeledby should override the native label semantics and
return a title for the radio button, instead of a title ui element. |
40 document.getElementById("r2").focus(); | 40 document.getElementById("r2").focus(); |
41 focusedElement = accessibilityController.focusedElement; | 41 focusedElement = accessibilityController.focusedElement; |
42 titleUIElement = focusedElement.deprecatedTitleUIElement(); | 42 titleUIElement = focusedElement.nameElementAtIndex(0); |
43 shouldBe("focusedElement.deprecatedDescription", "'AXDescription: LA
BEL2a'"); | 43 shouldBe("focusedElement.name", "'LABEL2a'"); |
44 shouldBe("focusedElement.deprecatedTitle", "'AXTitle: '"); | 44 shouldBe("focusedElement.description", "''"); |
45 shouldBeTrue("!titleUIElement || titleUIElement.deprecatedTitle == '
AXTitle: '"); | 45 shouldBeTrue("!titleUIElement || titleUIElement.name == ''"); |
46 | 46 |
47 // 3) If a radio button has an aria-label and a <label>, the aria-la
bel should be the title. | 47 // 3) If a radio button has an aria-label and a <label>, the aria-la
bel should be the title. |
48 document.getElementById("r3").focus(); | 48 document.getElementById("r3").focus(); |
49 focusedElement = accessibilityController.focusedElement; | 49 focusedElement = accessibilityController.focusedElement; |
50 titleUIElement = focusedElement.deprecatedTitleUIElement(); | 50 titleUIElement = focusedElement.nameElementAtIndex(0); |
51 shouldBe("focusedElement.deprecatedDescription", "'AXDescription: ra
dio3'"); | 51 shouldBe("focusedElement.name", "'radio3'"); |
52 shouldBe("focusedElement.deprecatedTitle", "'AXTitle: '"); | 52 shouldBe("focusedElement.description", "''"); |
53 shouldBeTrue("!titleUIElement || titleUIElement.deprecatedTitle == '
AXTitle: '"); | 53 shouldBeTrue("!titleUIElement || titleUIElement.name == ''"); |
54 | 54 |
55 } | 55 } |
56 </script> | 56 </script> |
57 | 57 |
58 | 58 |
59 </body> | 59 </body> |
60 </html> | 60 </html> |
OLD | NEW |