blob: 8bfa6142402c103d9ab1162c1427ced085009653 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body id="body">
<div tabindex=0 id="grid" role="grid" aria-readonly="true">
<div role="presentation">
<table role="presentation">
<thead>
<tr>
<th role="columnheader" aria-sort="ascending">&nbsp;</th>
<th role="columnheader">Name</th>
<th role="columnheader">Time</th>
<th role="columnheader">Popularity</th>
<th role="columnheader"> Price</th>
</tr>
</thead>
<tbody>
<tr role="row">
<td role="gridcell">
<span class="index"><span>1</span></span>
</td>
<td role="gridcell"">
<span><span>Test</span></span>
</td>
<td role="gridcell"">
<span><span>Test</span></span>
</td>
<td role="gridcell"">
<span><span>Test</span></span>
</td>
</tr>
</table></div></div>
<p id="description"></p>
<div id="console"></div>
<script>
description("This tests that an ARIA grid with a hierarchy that ignores render elements in between will still expose the correct elements.");
if (window.accessibilityController) {
// this text field should be required.
document.getElementById("grid").focus();
var grid = accessibilityController.focusedElement;
shouldBe("grid.childrenCount", "6");
shouldBe("grid.childAtIndex(0).role", "'AXRole: AXRow'");
shouldBe("grid.childAtIndex(1).role", "'AXRole: AXColumn'");
shouldBe("grid.childAtIndex(0).childrenCount", "4");
shouldBe("grid.childAtIndex(0).childAtIndex(0).role", "'AXRole: AXCell'");
shouldBe("grid.childAtIndex(0).childAtIndex(0).role", "'AXRole: AXCell'");
shouldBe("grid.childAtIndex(0).childAtIndex(0).childAtIndex(0).role", "'AXRole: AXStaticText'");
shouldBe("grid.childAtIndex(0).childAtIndex(0).childAtIndex(0).stringValue", "'AXValue: 1'");
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>