Refactoring: Pull all fullscreen code out of Document and into its own helper class
[WebKit-https.git] / LayoutTests / accessibility / roles-table-and-cell.html
1 <!DOCTYPE HTML>
2 <html>
3 <body>
4 <script src="../resources/js-test-pre.js"></script>
5
6 <!-- ==================================================================================================== -->
7 <!-- This tests ARIA table role and cell role work as intended                                            -->
8 <!-- ==================================================================================================== -->
9
10 <div role="grid" data-role="grid" class="ex">
11         <div role="gridcell" data-role="gridcell" class="ex">data</div>
12         <div role="cell" data-role="cell" class="ex">data2</div>
13         <div role="cell" data-role="cell" class="ex">data3</div>
14 </div>
15
16 <table role="table" data-role="table" class="ex">
17         <td role="gridcell" data-role="gridcell" class="ex">data</td>
18         <td data-role="cell" class="ex">data2</td>
19         <td role="cell" data-role="cell" class="ex">data3</td>
20 </table>
21
22 <div id="console"></div>
23 <script>
24 if (window.testRunner && window.accessibilityController) {
25     description("This tests that table and cell have the correct ARIA roles")
26     var examples = document.querySelectorAll(".ex");
27     var el, contentAttrRoleString, axElement, computedAriaRole, output, expectedRole, expectation, result, note;
28     for (var i = 0, c = examples.length; i < c; i++) {
29         el = examples[i];
30                 el.id = "ex" + i
31
32         axElement = accessibilityController.accessibleElementById(el.id);
33         if (!axElement)
34                 continue;
35
36         computedAriaRole = axElement.computedRoleString;
37
38         contentAttrRoleString = el.getAttribute("role");
39         note = el.getAttribute("data-note")
40         output = el.tagName.toLowerCase() + (contentAttrRoleString ? ("[role=\""+contentAttrRoleString+"\"]") : "") + (note ? note : "");
41         output += " -> ";
42         output += computedAriaRole;
43         output += ". ";
44
45         expectedRole = "";
46         if (el.hasAttribute("data-role")) {
47             expectedRole = el.getAttribute("data-role");
48         }
49
50         expectation = expectedRole;
51         matchedResults = (computedAriaRole == expectedRole)
52
53         result = document.getElementById('console');
54         if (matchedResults) {
55             result.innerText += "PASS: " + output + "\n";
56         } else {
57             result.innerText += "FAIL: " + output + "Expected: " + expectation + ".\n";
58         }
59     }
60
61     // Once tests are complete, hide all the example markup.
62     examples = document.querySelectorAll(".ex");
63     for (var i = 0, c = examples.length; i < c; i++) {
64         el = examples[i];
65         el.style.display = "none";
66     }
67 }
68 </script>
69 <script src="../resources/js-test-post.js"></script>
70 </body>
71 </html>