2009-09-10 18:07:56 -07:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
|
|
|
|
<head>
|
|
|
|
<title>Table accessible tree and table interface tests for ARIA grid</title>
|
|
|
|
<link rel="stylesheet" type="text/css"
|
|
|
|
href="chrome://mochikit/content/tests/SimpleTest/test.css" />
|
|
|
|
|
|
|
|
<script type="application/javascript"
|
|
|
|
src="chrome://mochikit/content/MochiKit/packed.js"></script>
|
|
|
|
<script type="application/javascript"
|
|
|
|
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
|
|
|
|
|
|
|
<script type="application/javascript"
|
|
|
|
src="chrome://mochikit/content/a11y/accessible/common.js"></script>
|
|
|
|
<script type="application/javascript"
|
|
|
|
src="chrome://mochikit/content/a11y/accessible/role.js"></script>
|
|
|
|
<script type="application/javascript"
|
|
|
|
src="chrome://mochikit/content/a11y/accessible/table.js"></script>
|
|
|
|
|
|
|
|
<script type="application/javascript">
|
|
|
|
function doTest()
|
|
|
|
{
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
// Pure ARIA grid
|
|
|
|
var cellsArray = [
|
|
|
|
[kColHeaderCell, kColHeaderCell, kColHeaderCell],
|
|
|
|
[kRowHeaderCell, kDataCell, kDataCell],
|
|
|
|
[kRowHeaderCell, kDataCell, kDataCell]
|
|
|
|
];
|
|
|
|
|
|
|
|
testTableStruct("table", cellsArray);
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
// HTML table based ARIA grid
|
2009-09-14 20:55:26 -07:00
|
|
|
cellsArray = [
|
2009-09-10 18:07:56 -07:00
|
|
|
[kColHeaderCell, kColHeaderCell, kColHeaderCell],
|
|
|
|
[kDataCell, kDataCell, kDataCell],
|
|
|
|
[kDataCell, kDataCell, kDataCell]
|
|
|
|
];
|
|
|
|
|
|
|
|
testTableStruct("grid", cellsArray);
|
|
|
|
|
2009-09-14 20:55:26 -07:00
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
// ARIA grid with HTML table elements
|
|
|
|
cellsArray = [
|
|
|
|
[kColHeaderCell, kColHeaderCell],
|
|
|
|
[kDataCell, kDataCell]
|
|
|
|
];
|
|
|
|
|
|
|
|
testTableStruct("grid2", cellsArray);
|
|
|
|
|
2009-09-10 18:07:56 -07:00
|
|
|
SimpleTest.finish();
|
|
|
|
}
|
|
|
|
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
2009-09-23 07:21:47 -07:00
|
|
|
addA11yLoadEvent(doTest);
|
2009-09-10 18:07:56 -07:00
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
|
|
|
<a target="_blank"
|
|
|
|
title="ARIA grid based on HTML table"
|
|
|
|
href="https://bugzilla.mozilla.org/show_bug.cgi?id=491683">Mozilla Bug 491683</a>
|
|
|
|
<a target="_blank"
|
|
|
|
title="implement IAccessibleTable2"
|
|
|
|
href="https://bugzilla.mozilla.org/show_bug.cgi?id=512424">Mozilla Bug 512424</a>
|
2009-09-14 20:55:26 -07:00
|
|
|
<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>
|
2009-09-10 18:07:56 -07:00
|
|
|
|
|
|
|
<p id="display"></p>
|
|
|
|
<div id="content" style="display: none"></div>
|
|
|
|
<pre id="test">
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
<!-- Not usual markup to avoid text accessible between cell accessibles -->
|
|
|
|
<div id="table" 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>
|
|
|
|
|
|
|
|
<table role="grid" id="grid" border="1" cellpadding="10" cellspacing="0">
|
|
|
|
<thead>
|
|
|
|
<tr role="row">
|
|
|
|
<th role="columnheader">subject</td>
|
|
|
|
<th role="columnheader">sender</th>
|
|
|
|
<th role="columnheader">date</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<tr role="row">
|
|
|
|
<td role="gridcell" tabindex="0">about everything</td>
|
|
|
|
<td role="gridcell">president</td>
|
|
|
|
<td role="gridcell">today</td>
|
|
|
|
</tr>
|
|
|
|
<tr role="row">
|
|
|
|
<td role="gridcell">new bugs</td>
|
|
|
|
<td role="gridcell">mozilla team</td>
|
|
|
|
<td role="gridcell">today</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
|
2009-09-14 20:55:26 -07:00
|
|
|
<!-- ARIA grid containing presentational HTML:table with HTML:td used as ARIA
|
|
|
|
grid cells (focusable and not focusable cells) -->
|
|
|
|
<div role="grid" id="grid2">
|
|
|
|
<div role="row">
|
|
|
|
<table role="presentation">
|
|
|
|
<tr>
|
|
|
|
<td role="columnheader">header1</td>
|
|
|
|
<td role="columnheader">header2</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
<div role="row">
|
|
|
|
<table role="presentation">
|
|
|
|
<tr>
|
|
|
|
<td role="gridcell">cell1</td>
|
|
|
|
<td role="gridcell" tabindex="-1">cell2</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2009-09-10 18:07:56 -07:00
|
|
|
</body>
|
|
|
|
</html>
|