1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/accessible/tests/mochitest/table/test_indexes_table.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,429 @@ 1.4 +<!DOCTYPE html> 1.5 +<html> 1.6 +<!-- 1.7 +https://bugzilla.mozilla.org/show_bug.cgi?id=410052 1.8 +--> 1.9 +<head> 1.10 + <title>Table indexes chrome tests</title> 1.11 + <link rel="stylesheet" type="text/css" 1.12 + href="chrome://mochikit/content/tests/SimpleTest/test.css" /> 1.13 + 1.14 + <script type="application/javascript" 1.15 + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 1.16 + 1.17 + <script type="application/javascript" 1.18 + src="../common.js"></script> 1.19 + <script type="application/javascript" 1.20 + src="../table.js"></script> 1.21 + 1.22 + <script type="application/javascript"> 1.23 + function doTest() 1.24 + { 1.25 + ////////////////////////////////////////////////////////////////////////// 1.26 + // table 1.27 + var idxes = [ 1.28 + [0, 1, 2], 1.29 + [3, 4, 5], 1.30 + [6, 7, 7], 1.31 + [6, 8, 9] 1.32 + ]; 1.33 + 1.34 + testTableIndexes("table", idxes); 1.35 + 1.36 + ////////////////////////////////////////////////////////////////////////// 1.37 + // tableborder 1.38 + idxes = [ 1.39 + [0, 1, 2], 1.40 + [3, 4, 5], 1.41 + [6, 7, 7], 1.42 + [6, 8, 9] 1.43 + ]; 1.44 + 1.45 + testTableIndexes("tableborder", idxes); 1.46 + 1.47 + ////////////////////////////////////////////////////////////////////////// 1.48 + // table 1.49 + var idxes = [ 1.50 + [ 0, 1, 2, 2, 3, 4, 5, 6], 1.51 + [ 7, 8, 9, 10, 11, 12, 13, 6], 1.52 + [14, 15, 15, 16, 17, 18, 19, 6], 1.53 + [20, 15, 15, 21, 22, 18, 23, 6] 1.54 + ]; 1.55 + 1.56 + testTableIndexes("table2", idxes); 1.57 + 1.58 + ////////////////////////////////////////////////////////////////////////// 1.59 + // tableinsane1 (empty row groups) 1.60 + idxes = [ 1.61 + [0, 1, 2], 1.62 + [3, 4, 5], 1.63 + [6, 7, 7], 1.64 + [6, 8, 9] 1.65 + ]; 1.66 + 1.67 + testTableIndexes("tableinsane1", idxes); 1.68 + 1.69 + ////////////////////////////////////////////////////////////////////////// 1.70 + // tableinsane2 (empry rows) 1.71 + idxes = [ 1.72 + [-1, -1, -1], 1.73 + [-1, -1, -1], 1.74 + [ 0, 1, 2] 1.75 + ]; 1.76 + 1.77 + testTableIndexes("tableinsane2", idxes); 1.78 + 1.79 + ////////////////////////////////////////////////////////////////////////// 1.80 + // tableinsane3 (cell holes) 1.81 + idxes = [ 1.82 + [0, 1, -1], 1.83 + [2, 3, 4] 1.84 + ]; 1.85 + 1.86 + testTableIndexes("tableinsane3", idxes); 1.87 + 1.88 + ////////////////////////////////////////////////////////////////////////// 1.89 + // tableinsane3.2 (cell holes, row spans, fixed in bug 417912) 1.90 + idxes = [ 1.91 + [0, 1, 2], 1.92 + [3, -1, 2], 1.93 + [4, 5, 2] 1.94 + ]; 1.95 + 1.96 + testTableIndexes("tableinsane3.2", idxes); 1.97 + 1.98 + ////////////////////////////////////////////////////////////////////////// 1.99 + // tableinsane4 (empty row groups/rows and cell holes) 1.100 + idxes = [ 1.101 + [ 0, 1, 2], 1.102 + [-1, -1, -1], 1.103 + [ 3, 4, 5], 1.104 + [ 6, 6, 7], 1.105 + [ 8, -1, 7], 1.106 + [ 9, 9, 9] 1.107 + ]; 1.108 + testTableIndexes("tableinsane4", idxes); 1.109 + 1.110 + ////////////////////////////////////////////////////////////////////////// 1.111 + // tableinsane5 (just a crazy table) 1.112 + idxes = [ 1.113 + [ 0, 1, 2, -1, -1], 1.114 + [-1, -1, -1, -1, -1], 1.115 + [ 3, 4, 5, -1, -1], 1.116 + [ 6, 7, 7, 7, 7], 1.117 + [ 6, 8, 9, -1, -1], 1.118 + [ 6, 10, 9, 11, 12] 1.119 + ]; 1.120 + testTableIndexes("tableinsane5", idxes); 1.121 + 1.122 + ////////////////////////////////////////////////////////////////////////// 1.123 + // tableinsane6 (overlapping cells, mad table) 1.124 + idxes = [ 1.125 + [ 0, 1, 2, -1, -1], 1.126 + [-1, -1, -1, -1, -1], 1.127 + [ 3, 4, 5, -1, -1], 1.128 + [ 6, 6, 7, -1, -1], 1.129 + [ 8, 9, 7, -1, -1], 1.130 + [ 10, 9, 7, 11, 12] 1.131 + ]; 1.132 + testTableIndexes("tableinsane6", idxes); 1.133 + 1.134 + ////////////////////////////////////////////////////////////////////////// 1.135 + // csstablecrazy1 (no rows) 1.136 + idxes = [ 1.137 + [0, 1] 1.138 + ]; 1.139 + 1.140 + testTableIndexes("csstablecrazy1", idxes); 1.141 + 1.142 + SimpleTest.finish(); 1.143 + } 1.144 + 1.145 + SimpleTest.waitForExplicitFinish(); 1.146 + addA11yLoadEvent(doTest); 1.147 + </script> 1.148 +</head> 1.149 +<body> 1.150 + 1.151 + <a target="_blank" 1.152 + title="GetIndexAt and GetRowAtIndex and GetColumnAtIndex on HTML tables are inconsistent" 1.153 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=410052"> 1.154 + Bug 410052 1.155 + </a> 1.156 + <a target="_blank" 1.157 + title="Table cell accessibles not exposed for CSS table without table-row " 1.158 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=834120"> 1.159 + Bug 834120 1.160 + </a> 1.161 + <p id="display"></p> 1.162 + <div id="content" style="display: none"></div> 1.163 + <pre id="test"> 1.164 + </pre> 1.165 + 1.166 + <!-- 1.167 + If you change the structure of the table please make sure to change 1.168 + the indexes count in 'for' statement in the script above. 1.169 + --> 1.170 + <table border="1" id="table"> 1.171 + <caption><strong><b><font size="29">this is a caption for this table</font></b></strong></caption> 1.172 + <thead> 1.173 + <tr> 1.174 + <th>col1</th> 1.175 + <th>col2</th> 1.176 + <th>col3</th> 1.177 + </tr> 1.178 + </thead> 1.179 + <tbody> 1.180 + <tr> 1.181 + <td>1</td> 1.182 + <td>2</td> 1.183 + <td>3</td> 1.184 + </tr> 1.185 + <tr> 1.186 + <td rowspan="0">4</td> 1.187 + <td colspan="2">5</td> 1.188 + </tr> 1.189 + <tr> 1.190 + <td>6</td> 1.191 + <td>7</td> 1.192 + </tr> 1.193 + </tbody> 1.194 + </table> 1.195 + 1.196 + <table border="1" id="tableborder" style="border-collapse:collapse"> 1.197 + <caption><strong><b><font size="29">this is a caption for this bc table</font></b></strong></caption> 1.198 + <thead> 1.199 + <tr> 1.200 + <th>col1</th> 1.201 + <th>col2</th> 1.202 + <th>col3</th> 1.203 + </tr> 1.204 + </thead> 1.205 + <tbody> 1.206 + <tr> 1.207 + <td>1</td> 1.208 + <td>2</td> 1.209 + <td>3</td> 1.210 + </tr> 1.211 + <tr> 1.212 + <td rowspan="2">4</td> 1.213 + <td colspan="2">5</td> 1.214 + </tr> 1.215 + <tr> 1.216 + <td>6</td> 1.217 + <td>7</td> 1.218 + </tr> 1.219 + </tbody> 1.220 + </table> 1.221 + 1.222 + <table cellpadding="2" cellspacing="2" border="1" width="50%" id="table2"> 1.223 + <caption>column and row spans</caption> 1.224 + <tbody> 1.225 + <tr> 1.226 + <td>0</td> 1.227 + <td>1</td> 1.228 + <td rowspan="1" colspan="2">2</td> 1.229 + <td>3</td> 1.230 + <td>4</td> 1.231 + <td>5</td> 1.232 + <td rowspan="4" colspan="1">6</td> 1.233 + </tr> 1.234 + <tr> 1.235 + <td>7</td> 1.236 + <td>8</td> 1.237 + <td>8</td> 1.238 + <td>10</td> 1.239 + <td>11</td> 1.240 + <td>12</td> 1.241 + <td>13</td> 1.242 + </tr> 1.243 + <tr> 1.244 + <td>14</td> 1.245 + <td rowspan="2" colspan="2">15</td> 1.246 + <td>16</td> 1.247 + <td>17</td> 1.248 + <td rowspan="2" colspan="1">18</td> 1.249 + <td>19</td> 1.250 + </tr> 1.251 + <tr> 1.252 + <td>20</td> 1.253 + <td>21</td> 1.254 + <td>22</td> 1.255 + <td>23</td> 1.256 + </tr> 1.257 + </tbody> 1.258 + </table> 1.259 + 1.260 + <table border="1" id="tableinsane1"> 1.261 + <caption>test empty row groups</caption> 1.262 + <thead> 1.263 + <tr> 1.264 + <th>col1</th> 1.265 + <th>col2</th> 1.266 + <th>col3</th> 1.267 + </tr> 1.268 + </thead> 1.269 + <tbody></tbody> 1.270 + <tbody></tbody> 1.271 + <tbody></tbody> 1.272 + <tbody> 1.273 + <tr> 1.274 + <td>1</td> 1.275 + <td>2</td> 1.276 + <td>3</td> 1.277 + </tr> 1.278 + <tr> 1.279 + <td rowspan="2">4</td> 1.280 + <td colspan="2">5</td> 1.281 + </tr> 1.282 + <tr> 1.283 + <td>6</td> 1.284 + <td>7</td> 1.285 + </tr> 1.286 + </tbody> 1.287 + </table> 1.288 + 1.289 + <table border="1" id="tableinsane2"> 1.290 + <caption>empty rows</caption> 1.291 + <tbody><tr></tr><tr></tr></tbody> 1.292 + <tbody></tbody> 1.293 + <tbody> 1.294 + <tr> 1.295 + <td>0</td> 1.296 + <td>1</td> 1.297 + <td>2</td> 1.298 + </tr> 1.299 + </tbody> 1.300 + </table> 1.301 + 1.302 + <table border="1" id="tableinsane3"> 1.303 + <caption>missed cell</caption> 1.304 + <tbody> 1.305 + <tr> 1.306 + <td>0</td> 1.307 + <td>1</td> 1.308 + </tr> 1.309 + </tbody> 1.310 + <tbody> 1.311 + <tr> 1.312 + <td>2</td> 1.313 + <td>3</td> 1.314 + <td>4</td> 1.315 + </tr> 1.316 + </tbody> 1.317 + </table> 1.318 + 1.319 + <table cellpadding="2" cellspacing="2" border="1" id="tableinsane3.2"> 1.320 + <tr><td>1</td><td>2</td><td rowspan=3>3</td> 1.321 + <tr><td>4</td> 1.322 + <tr><td>5</td><td>6</td> 1.323 + </table> 1.324 + 1.325 + <table border="1" id="tableinsane4"> 1.326 + <caption>test empty rows + cellmap holes</caption> 1.327 + <thead> 1.328 + <tr> 1.329 + <th>col1</th> 1.330 + <th>col2</th> 1.331 + <th>col3</th> 1.332 + </tr> 1.333 + </thead> 1.334 + <tbody><tr></tr></tbody> 1.335 + <tbody></tbody> 1.336 + <tbody></tbody> 1.337 + <tbody> 1.338 + <tr> 1.339 + <td>1</td> 1.340 + <td>2</td> 1.341 + <td>3</td> 1.342 + </tr> 1.343 + <tr> 1.344 + <td colspan="2">4</td> 1.345 + <td rowspan="2">5</td> 1.346 + </tr> 1.347 + <tr> 1.348 + <td>6</td> 1.349 + </tr> 1.350 + <tr> 1.351 + <td colspan="3">7</td> 1.352 + </tr> 1.353 + 1.354 + </tbody> 1.355 + </table> 1.356 + 1.357 + <table border="1" id="tableinsane5"> 1.358 + <caption>just a crazy table</caption> 1.359 + <thead> 1.360 + <tr> 1.361 + <th>col1</th> 1.362 + <th>col2</th> 1.363 + <th>col3</th> 1.364 + </tr> 1.365 + </thead> 1.366 + <tbody><tr></tr></tbody> 1.367 + <tbody></tbody> 1.368 + <tbody></tbody> 1.369 + <tbody> 1.370 + <tr> 1.371 + <td>1</td> 1.372 + <td>2</td> 1.373 + <td>3</td> 1.374 + </tr> 1.375 + <tr> 1.376 + <td rowspan="0">4</td> 1.377 + <td colspan="0">5</td> 1.378 + </tr> 1.379 + <tr> 1.380 + <td>6</td> 1.381 + <td rowspan="0">7</td> 1.382 + </tr> 1.383 + <tr> 1.384 + <td>8</td> 1.385 + <td>9</td> 1.386 + <td>10</td> 1.387 + </tr> 1.388 + 1.389 + </tbody> 1.390 + 1.391 + <table border="1" id="tableinsane6" > 1.392 + <caption>overlapping cells</caption> 1.393 + <thead> 1.394 + <tr> 1.395 + <th>header cell 0</th> 1.396 + <th>header cell 1</th> 1.397 + <th>header cell 2</th> 1.398 + </tr> 1.399 + </thead> 1.400 + <tbody><tr></tr></tbody> 1.401 + <tbody></tbody> 1.402 + <tbody></tbody> 1.403 + <tbody> 1.404 + <tr> 1.405 + <td>3</td> 1.406 + <td>4</td> 1.407 + <td>5</td> 1.408 + </tr> 1.409 + <tr> 1.410 + <td colspan="2">6</td> 1.411 + <td rowspan="0">7</td> 1.412 + </tr> 1.413 + <tr> 1.414 + <td>8</td> 1.415 + <td rowspan="0">9</td> 1.416 + </tr> 1.417 + <tr> 1.418 + <td colspan="3">10</td> 1.419 + <td>11</td> 1.420 + <td>12</td> 1.421 + </tr> 1.422 + </tbody> 1.423 + </table> 1.424 + 1.425 + <div id="csstablecrazy1" 1.426 + style="width: 100%; border: 1px solid red; display:table;"> 1.427 + <div style="display:table-cell;">cell1</div> 1.428 + <div style="display:table-cell;">cell2</div> 1.429 + </div> 1.430 + 1.431 +</body> 1.432 +</html>