| Index: third_party/WebKit/LayoutTests/accessibility/aom-relation-list-properties.html
|
| diff --git a/third_party/WebKit/LayoutTests/accessibility/aom-relation-list-properties.html b/third_party/WebKit/LayoutTests/accessibility/aom-relation-list-properties.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5bfb6e0cda991dbc7c064c9090af707234b5d5e2
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/accessibility/aom-relation-list-properties.html
|
| @@ -0,0 +1,239 @@
|
| +<!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/master/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>
|
| +
|
| +<input id="input" aria-labeledby="l1 l2">
|
| +<input id="input2" aria-labelledby="l1 l3">
|
| +<label id="l1">L1</label>
|
| +<label id="l2">L2</label>
|
| +<label id="l3">L3</label>
|
| +<label id="l4">L4</label>
|
| +
|
| +<script>
|
| +test(function(t) {
|
| + var input = document.getElementById("input");
|
| + var axInput = accessibilityController.accessibleElementById("input");
|
| + assert_equals(axInput.name, "L1 L2");
|
| +
|
| + var input2 = document.getElementById("input2");
|
| + var axInput2 = accessibilityController.accessibleElementById("input2");
|
| + assert_equals(axInput2.name, "L1 L3");
|
| +
|
| + var l3 = document.getElementById("l3");
|
| + var l4 = document.getElementById("l4");
|
| +
|
| + input.accessibleNode.labeledBy = new AccessibleNodeList();
|
| + input.accessibleNode.labeledBy.add(l3.accessibleNode);
|
| +
|
| + input2.accessibleNode.labeledBy = new AccessibleNodeList();
|
| + input2.accessibleNode.labeledBy.add(l3.accessibleNode);
|
| + input2.accessibleNode.labeledBy.add(l4.accessibleNode);
|
| +
|
| + assert_equals(input2.accessibleNode.labeledBy.length, 2);
|
| + assert_equals(input2.accessibleNode.labeledBy[0], l3.accessibleNode);
|
| + assert_equals(input2.accessibleNode.labeledBy[1], l4.accessibleNode);
|
| + assert_equals(input2.accessibleNode.labeledBy[2], undefined);
|
| +
|
| + assert_equals(axInput.name, "L3");
|
| + assert_equals(axInput2.name, "L3 L4");
|
| +
|
| + input.accessibleNode.labeledBy = null;
|
| + assert_equals(axInput.name, "L1 L2");
|
| +
|
| + input2.accessibleNode.labeledBy.remove(l3.accessibleNode);
|
| + assert_equals(axInput2.name, "L4");
|
| +
|
| + input2.accessibleNode.labeledBy[0] = l2.accessibleNode;
|
| + assert_equals(axInput2.name, "L2");
|
| + input2.accessibleNode.labeledBy[2] = l4.accessibleNode;
|
| + assert_equals(axInput2.name, "L2 L4");
|
| +}, "AccessibleNode.labeledBy");
|
| +</script>
|
| +
|
| +<input id="input3" aria-describedby="l1 l2">
|
| +
|
| +<script>
|
| +test(function(t) {
|
| + var input = document.getElementById("input3");
|
| + var axInput = accessibilityController.accessibleElementById("input3");
|
| + assert_equals(axInput.description, "L1 L2");
|
| +
|
| + var l3 = document.getElementById("l3");
|
| + var l4 = document.getElementById("l4");
|
| +
|
| + input.accessibleNode.describedBy = new AccessibleNodeList();
|
| + input.accessibleNode.describedBy.add(l3.accessibleNode);
|
| +
|
| + input.accessibleNode.describedBy = new AccessibleNodeList();
|
| + input.accessibleNode.describedBy.add(l3.accessibleNode);
|
| + input.accessibleNode.describedBy.add(l4.accessibleNode);
|
| +
|
| + assert_equals(input.accessibleNode.describedBy.length, 2);
|
| + assert_equals(input.accessibleNode.describedBy[0], l3.accessibleNode);
|
| + assert_equals(input.accessibleNode.describedBy[1], l4.accessibleNode);
|
| + assert_equals(input.accessibleNode.describedBy[2], undefined);
|
| +
|
| + assert_equals(axInput.description, "L3 L4");
|
| +
|
| + input.accessibleNode.describedBy.remove(l3.accessibleNode);
|
| + assert_equals(axInput.description, "L4");
|
| +
|
| + input.accessibleNode.describedBy[0] = l2.accessibleNode;
|
| + assert_equals(axInput.description, "L2");
|
| + input.accessibleNode.describedBy[2] = l4.accessibleNode;
|
| + assert_equals(axInput.description, "L2 L4");
|
| +
|
| + input.accessibleNode.describedBy = null;
|
| + assert_equals(axInput.description, "L1 L2");
|
| +}, "AccessibleNode.describedBy");
|
| +</script>
|
| +
|
| +<ul id="tablist_1" role="tablist">
|
| +<li id="tab_1" role="tab" aria-controls="panel_1 panel_2"></li>
|
| +</ul>
|
| +
|
| +<div id="panel_1" role="tabpanel">Panel 1</div>
|
| +<div id="panel_2" role="tabpanel">Panel 2</div>
|
| +<div id="panel_3" role="tabpanel">Panel 3</div>
|
| +<div id="panel_4" role="tabpanel">Panel 4</div>
|
| +
|
| +<p id="description"></p>
|
| +<div id="console"></div>
|
| +
|
| +<script>
|
| +test(function(t) {
|
| + var axTab1 = accessibilityController.accessibleElementById("tablist_1").childAtIndex(0);
|
| + var axPanel1 = accessibilityController.accessibleElementById("panel_1");
|
| + var axPanel2 = accessibilityController.accessibleElementById("panel_2");
|
| + var axPanel3 = accessibilityController.accessibleElementById("panel_3");
|
| + var axPanel4 = accessibilityController.accessibleElementById("panel_4");
|
| +
|
| + assert_true(axTab1.ariaControlsElementAtIndex(0).isEqual(axPanel1));
|
| + assert_true(axTab1.ariaControlsElementAtIndex(1).isEqual(axPanel2));
|
| +
|
| + var tab1 = document.getElementById("tablist_1").firstElementChild;
|
| + var panel3 = document.getElementById("panel_3");
|
| + var panel4 = document.getElementById("panel_4");
|
| + tab1.accessibleNode.controls = new AccessibleNodeList();
|
| + tab1.accessibleNode.controls[0] = panel3.accessibleNode;
|
| +
|
| + assert_true(axTab1.ariaControlsElementAtIndex(0).isEqual(axPanel3));
|
| + assert_equals(axTab1.ariaControlsElementAtIndex(1), undefined);
|
| +
|
| + tab1.accessibleNode.controls[1] = panel4.accessibleNode;
|
| +
|
| + assert_true(axTab1.ariaControlsElementAtIndex(0).isEqual(axPanel3));
|
| + assert_true(axTab1.ariaControlsElementAtIndex(1).isEqual(axPanel4));
|
| +
|
| + tab1.accessibleNode.controls = null;
|
| +
|
| + assert_true(axTab1.ariaControlsElementAtIndex(0).isEqual(axPanel1));
|
| + assert_true(axTab1.ariaControlsElementAtIndex(1).isEqual(axPanel2));
|
| +}, "AccessibleNode.controls");
|
| +</script>
|
| +
|
| +<h1 id="item1" aria-flowto="item2 item3"></h1>
|
| +
|
| +<div id="item2">Content 2</div>
|
| +<div id="item3">Content 3</div>
|
| +<div id="item4">Content 4</div>
|
| +
|
| +<p id="description"></p>
|
| +<div id="console"></div>
|
| +
|
| +<script>
|
| +test(function(t) {
|
| + var axItem1 = accessibilityController.accessibleElementById("item1");
|
| + var axItem2 = accessibilityController.accessibleElementById("item2");
|
| + var axItem3 = accessibilityController.accessibleElementById("item3");
|
| + var axItem4 = accessibilityController.accessibleElementById("item4");
|
| +
|
| + assert_true(axItem1.ariaFlowToElementAtIndex(0).isEqual(axItem2));
|
| + assert_true(axItem1.ariaFlowToElementAtIndex(1).isEqual(axItem3));
|
| +
|
| + var item1 = document.getElementById("item1");
|
| + var item2 = document.getElementById("item2");
|
| + var item3 = document.getElementById("item3");
|
| + var item4 = document.getElementById("item4");
|
| +
|
| + item1.accessibleNode.flowTo = new AccessibleNodeList();
|
| + item1.accessibleNode.flowTo.add(item4.accessibleNode);
|
| +
|
| + assert_true(axItem1.ariaFlowToElementAtIndex(0).isEqual(axItem4));
|
| + assert_equals(axItem1.ariaFlowToElementAtIndex(1), undefined);
|
| +
|
| + item1.accessibleNode.flowTo.add(item2.accessibleNode);
|
| +
|
| + assert_true(axItem1.ariaFlowToElementAtIndex(1).isEqual(axItem2));
|
| +
|
| + item1.accessibleNode.flowTo = null;
|
| +
|
| + assert_true(axItem1.ariaFlowToElementAtIndex(0).isEqual(axItem2));
|
| + assert_true(axItem1.ariaFlowToElementAtIndex(1).isEqual(axItem3));
|
| +}, "AccessibleNode.flowTo");
|
| +</script>
|
| +
|
| +<div class="container">
|
| + <ul id="list1" role="listbox" aria-owns="listitem3">
|
| + <li role="option">One</li>
|
| + <li role="option">Two</li>
|
| + </ul>
|
| + <ul role="listbox" id="list2">
|
| + <li role="option" id="listitem3">Three</li>
|
| + <li role="option" id="listitem4">Four</li>
|
| + </ul>
|
| +</div>
|
| +
|
| +<script>
|
| +test(function(t)
|
| +{
|
| + var axList1 = accessibilityController.accessibleElementById("list1");
|
| + assert_equals(axList1.role, "AXRole: AXListBox");
|
| + assert_equals(axList1.childrenCount, 3);
|
| +
|
| + var axListitem = axList1.childAtIndex(0);
|
| + assert_equals(axList1.childAtIndex(0).name, "One");
|
| + assert_equals(axList1.childAtIndex(1).name, "Two");
|
| + assert_equals(axList1.childAtIndex(2).name, "Three");
|
| +
|
| + var axList2 = accessibilityController.accessibleElementById("list2");
|
| + assert_equals(axList2.role, "AXRole: AXListBox");
|
| + assert_equals(axList2.childrenCount, 1);
|
| + assert_equals(axList2.childAtIndex(0).name, "Four");
|
| +
|
| + var list1 = document.getElementById("list1");
|
| + var item4 = document.getElementById("item4");
|
| +
|
| + list1.accessibleNode.owns = new AccessibleNodeList();
|
| + assert_equals(axList1.childrenCount, 2);
|
| +/**
|
| +
|
| +
|
| + list1.accessibleNode.owns[0] = item4.accessibleNode;
|
| + assert_equals(axList1.childrenCount, 3);
|
| + assert_equals(axList1.childAtIndex(0).name, "One");
|
| + assert_equals(axList1.childAtIndex(1).name, "Two");
|
| +assert_equals(axList1.childAtIndex(2).name, "Four");
|
| +**/
|
| +}, "AccessibleNode.owns");
|
| +</script>
|
| +
|
| +<script>
|
| +if (window.testRunner)
|
| + document.body.className = "hideAllContainers";
|
| +</script>
|
|
|