|
1 <!DOCTYPE html> |
|
2 <html> |
|
3 <!-- |
|
4 https://bugzilla.mozilla.org/show_bug.cgi?id=410052 |
|
5 --> |
|
6 <head> |
|
7 <title>nsIAccesible selection methods testing for ARIA grid</title> |
|
8 <link rel="stylesheet" type="text/css" |
|
9 href="chrome://mochikit/content/tests/SimpleTest/test.css" /> |
|
10 |
|
11 <script type="application/javascript" |
|
12 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> |
|
13 |
|
14 <script type="application/javascript" |
|
15 src="../common.js"></script> |
|
16 <script type="application/javascript" |
|
17 src="../role.js"></script> |
|
18 <script type="application/javascript" |
|
19 src="../states.js"></script> |
|
20 <script type="application/javascript" |
|
21 src="../table.js"></script> |
|
22 |
|
23 <script type="application/javascript"> |
|
24 function doTest() |
|
25 { |
|
26 ////////////////////////////////////////////////////////////////////////// |
|
27 // ARIA grid |
|
28 var cellsArray = |
|
29 [ |
|
30 [ true, true, false, true], |
|
31 [ true, false, true, true], |
|
32 [ true, false, false, true], |
|
33 [ true, true, true, true], |
|
34 [ true, true, true, true] |
|
35 ]; |
|
36 |
|
37 testTableSelection("table", cellsArray); |
|
38 testUnselectTableColumn("table", 3, cellsArray); |
|
39 testUnselectTableRow("table", 3, cellsArray); |
|
40 testSelectTableColumn("table", 0, cellsArray); |
|
41 testSelectTableRow("table", 0, cellsArray); |
|
42 |
|
43 ////////////////////////////////////////////////////////////////////////// |
|
44 // a bit crazy ARIA grid |
|
45 cellsArray = |
|
46 [ |
|
47 [ false, false], |
|
48 [ false, false] |
|
49 ]; |
|
50 |
|
51 testTableSelection("grid2", cellsArray); |
|
52 testSelectTableColumn("grid2", 0, cellsArray); |
|
53 testSelectTableRow("grid2", 0, cellsArray); |
|
54 testUnselectTableColumn("grid2", 0, cellsArray); |
|
55 testUnselectTableRow("grid2", 0, cellsArray); |
|
56 |
|
57 ////////////////////////////////////////////////////////////////////////// |
|
58 // ARIA grid (column and row headers) |
|
59 |
|
60 cellsArray = |
|
61 [ |
|
62 [ undefined, true, false], |
|
63 [ undefined, true, false] |
|
64 ]; |
|
65 |
|
66 testTableSelection("grid3", cellsArray); |
|
67 testSelectTableColumn("grid3", 0, cellsArray); |
|
68 testSelectTableRow("grid3", 0, cellsArray); |
|
69 testUnselectTableColumn("grid3", 0, cellsArray); |
|
70 testUnselectTableRow("grid3", 0, cellsArray); |
|
71 |
|
72 SimpleTest.finish(); |
|
73 } |
|
74 |
|
75 SimpleTest.waitForExplicitFinish(); |
|
76 addA11yLoadEvent(doTest); |
|
77 </script> |
|
78 </head> |
|
79 <body> |
|
80 |
|
81 <a target="_blank" |
|
82 title="implement nsIAccessibleTable selection methods for ARIA grids" |
|
83 href="https://bugzilla.mozilla.org/show_bug.cgi?id=410052">Bug 410052</a> |
|
84 <a target="_blank" |
|
85 title="nsHTMLTableCellAccessible is used in dojo's crazy ARIA grid" |
|
86 href="https://bugzilla.mozilla.org/show_bug.cgi?id=513848">Bug 513848</a> |
|
87 <a target="_blank" |
|
88 title="ARIA columnheader/rowheader shouldn't be selectable by default" |
|
89 href="https://bugzilla.mozilla.org/show_bug.cgi?id=888247">Bug 888247</a> |
|
90 |
|
91 <p id="display"></p> |
|
92 <div id="content" style="display: none"></div> |
|
93 <pre id="test"> |
|
94 </pre> |
|
95 |
|
96 <div role="grid" id="table"> |
|
97 <div role="row"> |
|
98 <span role="gridcell" aria-selected="true">cell1</span> |
|
99 <span role="gridcell" aria-selected="true">cell2</span> |
|
100 <span role="gridcell">cell3</span> |
|
101 <span role="gridcell" aria-selected="true">cell4</span> |
|
102 </div> |
|
103 <div role="row"> |
|
104 <span role="gridcell" aria-selected="true">cell5</span> |
|
105 <span role="gridcell">cell6</span> |
|
106 <span role="gridcell" aria-selected="true">cell7</span> |
|
107 <span role="gridcell" aria-selected="true">cell8</span> |
|
108 </div> |
|
109 <div role="row"> |
|
110 <span role="gridcell" aria-selected="true">cell9</span> |
|
111 <span role="gridcell">cell10</span> |
|
112 <span role="gridcell">cell11</span> |
|
113 <span role="gridcell" aria-selected="true">cell12</span> |
|
114 </div> |
|
115 <div role="row" aria-selected="true"> |
|
116 <span role="gridcell">cell13</span> |
|
117 <span role="gridcell">cell14</span> |
|
118 <span role="gridcell">cell15</span> |
|
119 <span role="gridcell">cell16</span> |
|
120 </div> |
|
121 <div role="row"> |
|
122 <span role="gridcell" aria-selected="true">cell17</span> |
|
123 <span role="gridcell" aria-selected="true">cell18</span> |
|
124 <span role="gridcell" aria-selected="true">cell19</span> |
|
125 <span role="gridcell" aria-selected="true">cell20</span> |
|
126 </div> |
|
127 </div> |
|
128 |
|
129 <div role="grid" id="grid2"> |
|
130 <div role="row"> |
|
131 <table role="presentation"> |
|
132 <tr> |
|
133 <td role="columnheader" aria-selected="false">header1</td> |
|
134 <td role="columnheader" aria-selected="false">header2</td> |
|
135 </tr> |
|
136 </table> |
|
137 </div> |
|
138 <div role="row"> |
|
139 <table role="presentation"> |
|
140 <tr> |
|
141 <td role="gridcell">cell1</td> |
|
142 <td role="gridcell" tabindex="-1">cell2</td> |
|
143 </tr> |
|
144 </table> |
|
145 </div> |
|
146 </div> |
|
147 |
|
148 <div role="grid" id="grid3"> |
|
149 <div role="row"> |
|
150 <div role="columnheader" id="colheader_default">col header1</div> |
|
151 <div role="columnheader" id="colheader_selected" aria-selected="true">col header2</div> |
|
152 <div role="columnheader" id="colheader_notselected" aria-selected="false">col header3</div> |
|
153 </div> |
|
154 <div role="row"> |
|
155 <div role="rowheader" id="rowheader_default">row header1</div> |
|
156 <div role="rowheader" id="rowheader_selected" aria-selected="true">row header2</div> |
|
157 <div role="rowheader" id="rowheader_notselected" aria-selected="false">row header3</div> |
|
158 </div> |
|
159 </div> |
|
160 </body> |
|
161 </html> |