AX: [ATK] Use WebCore Accessibility's AccessibilityText for AtkObject name and descri...
[WebKit-https.git] / LayoutTests / accessibility / focusable-div.html
1 <!DOCTYPE HTML>
2 <html>
3 <body>
4 <script src="../resources/js-test-pre.js"></script>
5
6 <!-- A link always gets its accessible text from contents. -->
7 <a id="link" href="#">A</a>
8
9 <!-- A generic focusable div should not get its accessible text from contents. -->
10 <div id="div" tabindex="0">B</div>
11 <div id="div2" tabindex="0"><div></div>C</div>
12 <div id="div3" tabindex="0" aria-label="D"></div>
13
14 <!-- A generic focusable div should not get accessible text from children that are focusable or containers. -->
15 <div id="div4" tabindex="0"><a href="#">Link</a></div>
16 <div id="div5" tabindex="0">Initial text before link<a href="#">Link</a></div>
17 <div id="div6" tabindex="0"><ul><li>List item</li></ul></div>
18 <div id="div7" tabindex="0">Initial text before list<ul><li>List item</li></ul></div>
19
20 <div id="console"></div>
21 <script>
22 description("This test makes sure that a generic focusable div can get accessibility focus. It should not get accessible text from its children automatically though.");
23
24 if (window.testRunner && window.accessibilityController) {
25     window.testRunner.dumpAsText();
26
27     function lastChar(str) {
28         return str.substr(str.length - 1);
29     }
30
31     var link = document.getElementById('link');
32     link.focus();
33     shouldBe("document.activeElement == link", "true");
34     window.axLink = accessibilityController.focusedElement;
35     shouldBe("lastChar(axLink.title)", "\"A\"");
36
37     var div = document.getElementById('div');
38     div.focus();
39     shouldBe("document.activeElement == div", "true");
40     window.axDiv = accessibilityController.focusedElement;
41     shouldBe("lastChar(axDiv.title)", "' '");
42
43     var div2 = document.getElementById('div2');
44     div2.focus();
45     shouldBe("document.activeElement == div2", "true");
46     window.axDiv2 = accessibilityController.focusedElement;
47     shouldBe("lastChar(axDiv2.title)", "' '");
48
49     var div3 = document.getElementById('div3');
50     div3.focus();
51     shouldBe("document.activeElement == div3", "true");
52     window.axDiv3 = accessibilityController.focusedElement;
53     if (accessibilityController.platformName == "atk")
54         shouldBe("lastChar(axDiv3.title)", "\"D\"");
55     else
56         shouldBe("lastChar(axDiv3.description)", "\"D\"");
57
58     var div4 = document.getElementById('div4');
59     div4.focus();
60     shouldBe("document.activeElement == div4", "true");
61     window.axDiv4 = accessibilityController.focusedElement;
62     shouldBe("axDiv4.title.indexOf('Link')", "-1");
63
64     var div5 = document.getElementById('div5');
65     div5.focus();
66     shouldBe("document.activeElement == div5", "true");
67     window.axDiv5 = accessibilityController.focusedElement;
68     shouldBe("axDiv5.title.indexOf('Link')", "-1");
69     shouldBe("axDiv5.title.indexOf('Initial text before link') >= 0", "false");
70
71     var div6 = document.getElementById('div6');
72     div6.focus();
73     shouldBe("document.activeElement == div6", "true");
74     window.axDiv6 = accessibilityController.focusedElement;
75     shouldBe("axDiv6.title.indexOf('List item')", "-1");
76
77     var div7 = document.getElementById('div7');
78     div7.focus();
79     shouldBe("document.activeElement == div7", "true");
80     window.axDiv7 = accessibilityController.focusedElement;
81     shouldBe("axDiv7.title.indexOf('List item')", "-1");
82     shouldBe("axDiv7.title.indexOf('Initial text before list') >= 0", "false");
83 }
84
85 </script>
86
87 <script src="../resources/js-test-post.js"></script>
88 </body>
89 </html>