accessible/tests/mochitest/table/test_headers_ariagrid.html
author Malini Das <mdas@mozilla.com>
Fri, 12 Aug 2011 12:21:36 -0400
changeset 74314 67f6f1908b0f4cb8c00d3de763787fdb8fe8eeeb
parent 51856 e4df7204de9cd65b9c3a9cde33df93930d6991e4
permissions -rw-r--r--
Bug 367393 - Add a packed MochiKit that contains only SimpleTest dependencies- chrome. r=jmaher, a=test-only

<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
  <title>Table header information cells for ARIA grid</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <link rel="stylesheet" type="text/css"
        href="chrome://mochikit/content/tests/SimpleTest/test.css" />

  <script type="application/javascript"
          src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>

  <script type="application/javascript"
          src="../common.js"></script>
  <script type="application/javascript"
          src="../table.js"></script>

  <script type="application/javascript">

    function doTest()
    {
      //////////////////////////////////////////////////////////////////////////
      // column and row headers from markup

      headerInfoMap = [
        {
          cell: "table_dc_1",
          rowHeaderCells: [ "table_rh_1" ],
          columnHeaderCells: [ "table_ch_2" ]
        },
        {
          cell: "table_dc_2",
          rowHeaderCells: [ "table_rh_1" ],
          columnHeaderCells: [ "table_ch_3" ]
        },
        {
          cell: "table_dc_3",
          rowHeaderCells: [ "table_rh_2" ],
          columnHeaderCells: [ "table_ch_2" ]
        },
        {
          cell: "table_dc_4",
          rowHeaderCells: [ "table_rh_2" ],
          columnHeaderCells: [ "table_ch_3" ]
        },
        {
          cell: "table_rh_1",
          rowHeaderCells: [],
          columnHeaderCells: [ "table_ch_1" ]
        },
        {
          cell: "table_rh_2",
          rowHeaderCells: [],
          columnHeaderCells: [ "table_ch_1" ]
        }
      ];

      testHeaderCells(headerInfoMap);


      //////////////////////////////////////////////////////////////////////////
      // column and row headers from markup for crazy grid.

      headerInfoMap = [
        {
          // not focusable cell (nsARIAGridCellAccessible is used)
          cell: "table2_dc_1",
          rowHeaderCells: [],
          columnHeaderCells: [ "table2_ch_1" ]
        },
        {
          // focusable cell (nsARIAGridCellAccessible is used)
          cell: "table2_dc_2",
          rowHeaderCells: [],
          columnHeaderCells: [ "table2_ch_2" ]
        }
      ];

      testHeaderCells(headerInfoMap);

      SimpleTest.finish();
    }

    SimpleTest.waitForExplicitFinish();
    addA11yLoadEvent(doTest);
  </script>
</head>

<body>
  <a target="_blank"
     title="implement IAccessibleTable2"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=512424">Mozilla Bug 512424</a>
  <a target="_blank"
     title="nsHTMLTableCellAccessible is used in dojo's crazy ARIA grid"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=513848">Mozilla Bug 513848</a>

  <p id="display"></p>
  <div id="content" style="display: none"></div>
  <pre id="test">
  </pre>

  <div role="grid">
    <div role="row">
      <span id="table_ch_1" role="columnheader">col_1</span>
      <span id="table_ch_2" role="columnheader">col_2</span>
      <span id="table_ch_3" role="columnheader">col_3</span>
    </div>
    <div role="row">
      <span id="table_rh_1" role="rowheader">row_1</span>
      <span id="table_dc_1" role="gridcell">cell1</span>
      <span id="table_dc_2" role="gridcell">cell2</span>
    </div>
    <div role="row">
      <span id="table_rh_2" role="rowheader">row_2</span>
      <span id="table_dc_3" role="gridcell">cell3</span>
      <span id="table_dc_4" role="gridcell">cell4</span>
    </div>
  </div>

  <div role="grid">
    <div role="row">
      <table role="presentation">
        <tr>
          <td id="table2_ch_1" role="columnheader">header1</td>
          <td id="table2_ch_2" role="columnheader">header2</td>
        </tr>
      </table>
    </div>
    <div role="row">
      <table role="presentation">
        <tr>
          <td id="table2_dc_1" role="gridcell">cell1</td>
          <td id="table2_dc_2" role="gridcell" tabindex="-1">cell2</td>
        </tr>
      </table>
    </div>
  </div>

</body>
</html>