blob: 4b8baa02990864d02f222cddeb75a7f3b365277a [file] [log] [blame]
<!DOCTYPE HTML>
<script src="../resources/gc.js"></script>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<!--
Accessibility Object Model
Explainer: https://github.com/WICG/aom/blob/gh-pages/explainer.md
Spec: https://wicg.github.io/aom/spec/
-->
<script>
test(function(t) {
assert_true(internals.runtimeFlags.accessibilityObjectModelEnabled);
}, "Make sure that Accessibility Object Model is enabled");
</script>
<div id="container"></div>
<script>
test(function(t) {
assert_throws('InvalidAccessError', function() {
var container = document.getElementById("container");
container.accessibleNode.appendChild(document.body.accessibleNode);
});
}, "Can't call AccessibleNode.appendChild on an AccessibleNode with an Element");
</script>
<script>
test(function(t) {
var container = document.getElementById("container");
var child = new AccessibleNode();
child.role = "button";
child.label = "Launch";
container.accessibleNode.appendChild(child);
var axContainer = accessibilityController.accessibleElementById("container");
assert_equals(axContainer.childrenCount, 1);
var axChild = axContainer.childAtIndex(0);
assert_equals(axChild.role, "AXRole: AXButton");
assert_equals(axChild.name, "Launch");
}, "Create a virtual AccessibleNode");
</script>
<div id="container2"></div>
<script>
test(function(t) {
var container = document.getElementById("container2");
var list = new AccessibleNode();
list.role = "list";
container.accessibleNode.appendChild(list);
var item1 = new AccessibleNode();
item1.role = "listitem";
list.appendChild(item1);
var item2 = new AccessibleNode();
item2.role = "listitem";
list.appendChild(item2);
var axContainer = accessibilityController.accessibleElementById("container2");
assert_equals(axContainer.childrenCount, 1);
var axList = axContainer.childAtIndex(0);
assert_equals(axList.role, "AXRole: AXList");
assert_equals(axList.childrenCount, 2);
var axListItem = axList.childAtIndex(0);
assert_equals(axListItem.role, "AXRole: AXListItem");
var axListItem2 = axList.childAtIndex(1);
assert_equals(axListItem2.role, "AXRole: AXListItem");
}, "Create a virtual list using AccessibleNodes");
</script>