1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/accessible/tests/mochitest/table/test_sels_ariagrid.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,161 @@ 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>nsIAccesible selection methods testing for ARIA grid</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="../role.js"></script> 1.21 + <script type="application/javascript" 1.22 + src="../states.js"></script> 1.23 + <script type="application/javascript" 1.24 + src="../table.js"></script> 1.25 + 1.26 + <script type="application/javascript"> 1.27 + function doTest() 1.28 + { 1.29 + ////////////////////////////////////////////////////////////////////////// 1.30 + // ARIA grid 1.31 + var cellsArray = 1.32 + [ 1.33 + [ true, true, false, true], 1.34 + [ true, false, true, true], 1.35 + [ true, false, false, true], 1.36 + [ true, true, true, true], 1.37 + [ true, true, true, true] 1.38 + ]; 1.39 + 1.40 + testTableSelection("table", cellsArray); 1.41 + testUnselectTableColumn("table", 3, cellsArray); 1.42 + testUnselectTableRow("table", 3, cellsArray); 1.43 + testSelectTableColumn("table", 0, cellsArray); 1.44 + testSelectTableRow("table", 0, cellsArray); 1.45 + 1.46 + ////////////////////////////////////////////////////////////////////////// 1.47 + // a bit crazy ARIA grid 1.48 + cellsArray = 1.49 + [ 1.50 + [ false, false], 1.51 + [ false, false] 1.52 + ]; 1.53 + 1.54 + testTableSelection("grid2", cellsArray); 1.55 + testSelectTableColumn("grid2", 0, cellsArray); 1.56 + testSelectTableRow("grid2", 0, cellsArray); 1.57 + testUnselectTableColumn("grid2", 0, cellsArray); 1.58 + testUnselectTableRow("grid2", 0, cellsArray); 1.59 + 1.60 + ////////////////////////////////////////////////////////////////////////// 1.61 + // ARIA grid (column and row headers) 1.62 + 1.63 + cellsArray = 1.64 + [ 1.65 + [ undefined, true, false], 1.66 + [ undefined, true, false] 1.67 + ]; 1.68 + 1.69 + testTableSelection("grid3", cellsArray); 1.70 + testSelectTableColumn("grid3", 0, cellsArray); 1.71 + testSelectTableRow("grid3", 0, cellsArray); 1.72 + testUnselectTableColumn("grid3", 0, cellsArray); 1.73 + testUnselectTableRow("grid3", 0, cellsArray); 1.74 + 1.75 + SimpleTest.finish(); 1.76 + } 1.77 + 1.78 + SimpleTest.waitForExplicitFinish(); 1.79 + addA11yLoadEvent(doTest); 1.80 + </script> 1.81 +</head> 1.82 +<body> 1.83 + 1.84 + <a target="_blank" 1.85 + title="implement nsIAccessibleTable selection methods for ARIA grids" 1.86 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=410052">Bug 410052</a> 1.87 + <a target="_blank" 1.88 + title="nsHTMLTableCellAccessible is used in dojo's crazy ARIA grid" 1.89 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=513848">Bug 513848</a> 1.90 + <a target="_blank" 1.91 + title="ARIA columnheader/rowheader shouldn't be selectable by default" 1.92 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=888247">Bug 888247</a> 1.93 + 1.94 + <p id="display"></p> 1.95 + <div id="content" style="display: none"></div> 1.96 + <pre id="test"> 1.97 + </pre> 1.98 + 1.99 + <div role="grid" id="table"> 1.100 + <div role="row"> 1.101 + <span role="gridcell" aria-selected="true">cell1</span> 1.102 + <span role="gridcell" aria-selected="true">cell2</span> 1.103 + <span role="gridcell">cell3</span> 1.104 + <span role="gridcell" aria-selected="true">cell4</span> 1.105 + </div> 1.106 + <div role="row"> 1.107 + <span role="gridcell" aria-selected="true">cell5</span> 1.108 + <span role="gridcell">cell6</span> 1.109 + <span role="gridcell" aria-selected="true">cell7</span> 1.110 + <span role="gridcell" aria-selected="true">cell8</span> 1.111 + </div> 1.112 + <div role="row"> 1.113 + <span role="gridcell" aria-selected="true">cell9</span> 1.114 + <span role="gridcell">cell10</span> 1.115 + <span role="gridcell">cell11</span> 1.116 + <span role="gridcell" aria-selected="true">cell12</span> 1.117 + </div> 1.118 + <div role="row" aria-selected="true"> 1.119 + <span role="gridcell">cell13</span> 1.120 + <span role="gridcell">cell14</span> 1.121 + <span role="gridcell">cell15</span> 1.122 + <span role="gridcell">cell16</span> 1.123 + </div> 1.124 + <div role="row"> 1.125 + <span role="gridcell" aria-selected="true">cell17</span> 1.126 + <span role="gridcell" aria-selected="true">cell18</span> 1.127 + <span role="gridcell" aria-selected="true">cell19</span> 1.128 + <span role="gridcell" aria-selected="true">cell20</span> 1.129 + </div> 1.130 + </div> 1.131 + 1.132 + <div role="grid" id="grid2"> 1.133 + <div role="row"> 1.134 + <table role="presentation"> 1.135 + <tr> 1.136 + <td role="columnheader" aria-selected="false">header1</td> 1.137 + <td role="columnheader" aria-selected="false">header2</td> 1.138 + </tr> 1.139 + </table> 1.140 + </div> 1.141 + <div role="row"> 1.142 + <table role="presentation"> 1.143 + <tr> 1.144 + <td role="gridcell">cell1</td> 1.145 + <td role="gridcell" tabindex="-1">cell2</td> 1.146 + </tr> 1.147 + </table> 1.148 + </div> 1.149 + </div> 1.150 + 1.151 + <div role="grid" id="grid3"> 1.152 + <div role="row"> 1.153 + <div role="columnheader" id="colheader_default">col header1</div> 1.154 + <div role="columnheader" id="colheader_selected" aria-selected="true">col header2</div> 1.155 + <div role="columnheader" id="colheader_notselected" aria-selected="false">col header3</div> 1.156 + </div> 1.157 + <div role="row"> 1.158 + <div role="rowheader" id="rowheader_default">row header1</div> 1.159 + <div role="rowheader" id="rowheader_selected" aria-selected="true">row header2</div> 1.160 + <div role="rowheader" id="rowheader_notselected" aria-selected="false">row header3</div> 1.161 + </div> 1.162 + </div> 1.163 +</body> 1.164 +</html>