Refactoring: Pull all fullscreen code out of Document and into its own helper class
[WebKit-https.git] / LayoutTests / accessibility / aria-label-on-label-element.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <script src="../resources/js-test-pre.js"></script>
5 </head>
6 <body id="body">
7
8 <label id="label1" for="input" aria-label="aria label">Some text</label>
9 <input id="input" type="text" size=20>
10
11 <label id="label2" for="input2">Some other text</label>
12 <input id="input2" type="text" size=20>
13
14 <label id="label3" for="input3" hidden aria-label="hidden aria label">hidden text</label>
15 <input id="input3" type="text">
16
17 <p id="p1">aria</p>
18 <p id="p2">labelledby</p>
19 <label for="input4" aria-labelledby="p1 p2">Some text</label>
20 <input id="input4" type="text" size=20>
21
22 <p id="description"></p>
23 <div id="console"></div>
24
25 <script>
26
27     description("This tests that the aria-label attribute works on <label> element.");
28
29     if (window.accessibilityController) {
30     
31         // aria-label on the <label> element return a title for the input, instead of a title ui element.
32         // For ATK, it should return both, with the title ui element being the label element.
33         var input1 = accessibilityController.accessibleElementById("input");
34         var titleUIElement1 = input1.titleUIElement();
35         if (accessibilityController.platformName != "atk")
36             shouldBeTrue("!titleUIElement1");
37         else
38             shouldBeTrue("titleUIElement1.isEqual(accessibilityController.accessibleElementById('label1'))");
39
40         shouldBe("input1.title", "'AXTitle: aria label'");
41         
42         // Normal case.
43         var input2 = accessibilityController.accessibleElementById("input2");
44         var titleUIElement2 = input2.titleUIElement();
45         shouldBeTrue("titleUIElement2.isEqual(accessibilityController.accessibleElementById('label2'))");
46         
47         // Make sure when the input element has no rendered label, it won't cause crash.
48         var input3 = accessibilityController.accessibleElementById("input3");
49         shouldBe("input3.title", "'AXTitle: hidden aria label'");
50         
51         // aria-labelledby also works.
52         var input4 = accessibilityController.accessibleElementById("input4");
53         shouldBe("input4.title", "'AXTitle: aria labelledby'");
54     }
55
56 </script>
57
58 <script src="../resources/js-test-post.js"></script>
59 </body>
60 </html>