accessible/tests/mochitest/table/test_sels_ariagrid.html

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:c4928a0c69a3
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>

mercurial