62 lines
2.4 KiB
HTML
62 lines
2.4 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body id="body">
|
|
|
|
<table tabindex=0 id="grid-1" role="treegrid" aria-labelledby="grid-1-header" border="1" aria-activedescendant="row1">
|
|
<thead>
|
|
<tr ca="tr" role="row" aria-level="1" id="row1">
|
|
<th id="grid-1-isbn_id">Book Name / ISBN</th><th id="grid-1-author_id">Author</th><th id="grid-1-price_id" class="numeric" >Price ($)</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr ca="to" role="row" aria-level="1" aria-expanded="true">
|
|
<td headers="grid-1-title_id" id="table_entry" role="gridcell" colspan="3" tabindex="0">
|
|
<span class="expand">+</span> A Question of Love</td>
|
|
</tr>
|
|
<tr ca="ti" role="row" aria-level="2" aria-expanded="true">
|
|
<td headers="grid-1-isbn_id" role="gridcell">978-3-453-40540-0</td>
|
|
<td headers="grid-1-author_id" role="gridcell">Nora Roberts</td>
|
|
<td headers="grid-1-price_id" class="numeric" role="gridcell" ca="te"><div>9.99</div></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
|
|
description("This tests that the treegrid ARIA role does what it should (be exposed as a AXTable and support AXSelectedRows)");
|
|
|
|
if (window.accessibilityController) {
|
|
|
|
document.getElementById("grid-1").focus();
|
|
var treegrid = accessibilityController.focusedElement;
|
|
var selectedRow = treegrid.childAtIndex(0);
|
|
shouldBe("treegrid.isAttributeSupported('AXSelectedRows')", "true");
|
|
shouldBe("treegrid.selectedRowAtIndex(0).isEqual(selectedRow)", "true");
|
|
shouldBe("selectedRow.isExpanded", "false");
|
|
shouldBe("selectedRow.hierarchicalLevel", "0");
|
|
|
|
var secondRow = treegrid.childAtIndex(1);
|
|
shouldBe("secondRow.isExpanded", "true");
|
|
shouldBe("secondRow.hierarchicalLevel", "0");
|
|
|
|
var thirdRow = treegrid.childAtIndex(2);
|
|
shouldBe("thirdRow.isExpanded", "true");
|
|
shouldBe("thirdRow.hierarchicalLevel", "1");
|
|
|
|
// Make sure that the row disclosure works correctly.
|
|
shouldBe("thirdRow.disclosedByRow().isEqual(secondRow)", "true");
|
|
shouldBe("secondRow.disclosedRowAtIndex(0).isEqual(thirdRow)", "true");
|
|
}
|
|
|
|
</script>
|
|
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|