56 lines
2.0 KiB
HTML
56 lines
2.0 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body id="body">
|
|
|
|
<ul id="tree" role="tree" aria-multiselectable="true" tabindex="0">
|
|
<li id="treeitem1" role="treeitem"><span>Siamese</span></li>
|
|
<li id="treeitem2" role="treeitem"><span>Tabby</span></li>
|
|
</ul>
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
|
|
description("This tests that aria trees that are multi selectable will return the right selected rows.");
|
|
|
|
if (window.accessibilityController) {
|
|
|
|
var tree = document.getElementById("tree");
|
|
tree.focus();
|
|
|
|
// Test tree attributes.
|
|
tree = accessibilityController.focusedElement;
|
|
|
|
var treeitem1 = tree.childAtIndex(0);
|
|
shouldBe("treeitem1.role", "'AXRole: AXRow'");
|
|
shouldBe("treeitem1.subrole", "'AXSubrole: AXOutlineRow'");
|
|
document.getElementById("treeitem1").setAttribute("aria-selected", true);
|
|
|
|
var treeitem2 = tree.childAtIndex(1);
|
|
shouldBe("treeitem2.role", "'AXRole: AXRow'");
|
|
shouldBe("treeitem2.subrole", "'AXSubrole: AXOutlineRow'");
|
|
document.getElementById("treeitem2").setAttribute("aria-selected", true);
|
|
|
|
// Test that the tree will give us both rows as selected (since its multi-selectable)
|
|
var selectedRow1 = tree.selectedRowAtIndex(0);
|
|
var selectedRow2 = tree.selectedRowAtIndex(1);
|
|
|
|
shouldBe("selectedRow1.isEqual(treeitem1)", "true");
|
|
shouldBe("selectedRow2.isEqual(treeitem2)", "true");
|
|
|
|
// Test that if one of the items becomes de-selected, we still get the right selected row.
|
|
document.getElementById("treeitem1").setAttribute("aria-selected", false);
|
|
selectedRow1 = tree.selectedRowAtIndex(0);
|
|
shouldBe("selectedRow1.isEqual(treeitem2)", "true");
|
|
}
|
|
|
|
</script>
|
|
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|