| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../resources/js-test-pre.js"></script> |
| </head> |
| <body id="body"> |
| |
| <label id="label1" for="input" aria-label="aria label">Some text</label> |
| <input id="input" type="text" size=20> |
| |
| <label id="label2" for="input2">Some other text</label> |
| <input id="input2" type="text" size=20> |
| |
| <label id="label3" for="input3" hidden aria-label="hidden aria label">hidden text</label> |
| <input id="input3" type="text"> |
| |
| <p id="p1">aria</p> |
| <p id="p2">labelledby</p> |
| <label for="input4" aria-labelledby="p1 p2">Some text</label> |
| <input id="input4" type="text" size=20> |
| |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| |
| description("This tests that the aria-label attribute works on <label> element."); |
| |
| if (window.accessibilityController) { |
| |
| // aria-label on the <label> element return a title for the input, instead of a title ui element. |
| // For ATSPI, it should return both, with the title ui element being the label element. |
| var input1 = accessibilityController.accessibleElementById("input"); |
| var titleUIElement1 = input1.titleUIElement(); |
| if (accessibilityController.platformName != "atspi") |
| shouldBeTrue("!titleUIElement1"); |
| else |
| shouldBeTrue("titleUIElement1.isEqual(accessibilityController.accessibleElementById('label1'))"); |
| |
| shouldBe("input1.title", "'AXTitle: aria label'"); |
| |
| // Normal case. |
| var input2 = accessibilityController.accessibleElementById("input2"); |
| var titleUIElement2 = input2.titleUIElement(); |
| shouldBeTrue("titleUIElement2.isEqual(accessibilityController.accessibleElementById('label2'))"); |
| |
| // Make sure when the input element has no rendered label, it won't cause crash. |
| var input3 = accessibilityController.accessibleElementById("input3"); |
| shouldBe("input3.title", "'AXTitle: hidden aria label'"); |
| |
| // aria-labelledby also works. |
| var input4 = accessibilityController.accessibleElementById("input4"); |
| shouldBe("input4.title", "'AXTitle: aria labelledby'"); |
| } |
| |
| </script> |
| |
| <script src="../resources/js-test-post.js"></script> |
| </body> |
| </html> |