accessible/tests/mochitest/table/test_sels_ariagrid.html

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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" />
    11   <script type="application/javascript"
    12           src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
    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>
    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       ];
    37       testTableSelection("table", cellsArray);
    38       testUnselectTableColumn("table", 3, cellsArray);
    39       testUnselectTableRow("table", 3, cellsArray);
    40       testSelectTableColumn("table", 0, cellsArray);
    41       testSelectTableRow("table", 0, cellsArray);
    43       //////////////////////////////////////////////////////////////////////////
    44       // a bit crazy ARIA grid
    45       cellsArray =
    46       [
    47         [ false, false],
    48         [ false, false]
    49       ];
    51       testTableSelection("grid2", cellsArray);
    52       testSelectTableColumn("grid2", 0, cellsArray);
    53       testSelectTableRow("grid2", 0, cellsArray);
    54       testUnselectTableColumn("grid2", 0, cellsArray);
    55       testUnselectTableRow("grid2", 0, cellsArray);
    57       //////////////////////////////////////////////////////////////////////////
    58       // ARIA grid (column and row headers)
    60       cellsArray =
    61       [
    62         [ undefined, true, false],
    63         [ undefined, true, false]
    64       ];
    66       testTableSelection("grid3", cellsArray);
    67       testSelectTableColumn("grid3", 0, cellsArray);
    68       testSelectTableRow("grid3", 0, cellsArray);
    69       testUnselectTableColumn("grid3", 0, cellsArray);
    70       testUnselectTableRow("grid3", 0, cellsArray);
    72       SimpleTest.finish();
    73     }
    75     SimpleTest.waitForExplicitFinish();
    76     addA11yLoadEvent(doTest);
    77   </script>
    78 </head>
    79 <body>
    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>
    91   <p id="display"></p>
    92   <div id="content" style="display: none"></div>
    93   <pre id="test">
    94   </pre>
    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>
   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>
   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