Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
<!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"
<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
let 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 grid.
headerInfoMap = [
{
// not focusable cell (ARIAGridCellAccessible is used)
cell: "table2_dc_1",
rowHeaderCells: [],
columnHeaderCells: [ "table2_ch_1" ],
},
{
// focusable cell (ARIAGridCellAccessible is used)
cell: "table2_dc_2",
rowHeaderCells: [],
columnHeaderCells: [ "table2_ch_2" ],
},
];
testHeaderCells(headerInfoMap);
// ////////////////////////////////////////////////////////////////////////
// column and row headers from markup for one more grid.
headerInfoMap = [
{
// ARIAGridCellAccessible is used
cell: "t3_dc_1",
rowHeaderCells: [ "t3_rh_1" ],
columnHeaderCells: [ ],
},
{
// ARIAGridCellAccessible is used (inside rowgroup)
cell: "t3_dc_2",
rowHeaderCells: [ "t3_rh_2" ],
columnHeaderCells: [ ],
},
];
testHeaderCells(headerInfoMap);
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
addA11yLoadEvent(doTest);
</script>
</head>
<body>
<a target="_blank"
title="implement IAccessibleTable2"
<a target="_blank"
title="nsHTMLTableCellAccessible is used in dojo's ARIA grid"
<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>
<div role="grid">
<table role="presentation">
<tbody role="presentation">
<tr role="row">
<th id="t3_rh_1" role="rowheader">Row 1</th>
<td id="t3_dc_1" role="gridcell" tabindex="-1">
Apple Inc.
</td>
</tr>
</tbody>
</table>
<div role="rowgroup" tabindex="0">
<table role="presentation">
<tbody role="presentation">
<tr role="row">
<th id="t3_rh_2" role="rowheader">Row 2</th>
<td id="t3_dc_2" role="gridcell" tabindex="-1">
Apple-Shmapple Inc.
</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>