AX: Focusable elements without a role should not be ignored
[WebKit-https.git] / LayoutTests / accessibility / focusable-div.html
1 <!DOCTYPE HTML>
2 <html>
3 <body>
4 <script src="../fast/js/resources/js-test-pre.js"></script>
5
6 <a id="link" href="#">A</a>
7 <div id="div" tabindex="0">B</div>
8 <div id="div2" tabindex="0"><div></div>C</div>
9 <div id="div3" tabindex="0" aria-label="D"></div>
10
11 <div id="console"></div>
12 <script>
13 description("This test makes sure that a generic focusable div can get accessibility focus.");
14
15 if (window.testRunner && window.accessibilityController) {
16     window.testRunner.dumpAsText();
17
18     function lastChar(str) {
19         return str.substr(str.length - 1);
20     }
21
22     var link = document.getElementById('link');
23     link.focus();
24     shouldBe("document.activeElement == link", "true");
25     window.axLink = accessibilityController.focusedElement;
26     shouldBe("lastChar(axLink.title)", "\"A\"");
27
28     var div = document.getElementById('div');
29     div.focus();
30     shouldBe("document.activeElement == div", "true");
31     window.axDiv = accessibilityController.focusedElement;
32     shouldBe("lastChar(axDiv.title)", "\"B\"");
33
34     var div2 = document.getElementById('div2');
35     div2.focus();
36     shouldBe("document.activeElement == div2", "true");
37     window.axDiv2 = accessibilityController.focusedElement;
38     shouldBe("lastChar(axDiv2.title)", "\"C\"");
39
40     var div3 = document.getElementById('div3');
41     div3.focus();
42     shouldBe("document.activeElement == div3", "true");
43     window.axDiv3 = accessibilityController.focusedElement;
44     shouldBe("lastChar(axDiv3.description)", "\"D\"");
45 }
46
47 </script>
48
49 <script src="../fast/js/resources/js-test-post.js"></script>
50 </body>
51 </html>