| <!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> |
| if (window.internals) |
| internals.runtimeFlags.accessibilityObjectModelEnabled = true; |
| </script> |
| |
| <div role="region" id="atomic" aria-atomic="true"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("atomic"); |
| var axNode = accessibilityController.accessibleElementById("atomic"); |
| assert_equals(axNode.isAtomic, true); |
| assert_equals(node.accessibleNode.atomic, null); |
| node.accessibleNode.atomic = false; |
| assert_equals(axNode.isAtomic, true); |
| node.accessibleNode.atomic = null; |
| assert_equals(axNode.isAtomic, true); |
| assert_equals(node.accessibleNode.atomic, null); |
| }, "Boolean AOM properties do not reflect ARIA, and can be cleared."); |
| </script> |
| |
| <div role="region" id="atomic2"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("atomic2"); |
| var axNode = accessibilityController.accessibleElementById("atomic2"); |
| assert_equals(axNode.isAtomic, false); |
| node.accessibleNode.atomic = true; |
| assert_equals(axNode.isAtomic, false); |
| }, "AccessibleNode.atomic"); |
| </script> |
| |
| <div role="status" id="busy"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("busy"); |
| var axNode = accessibilityController.accessibleElementById("busy"); |
| assert_equals(axNode.isBusy, false); |
| node.accessibleNode.busy = true; |
| assert_equals(axNode.isBusy, false); |
| }, "AccessibleNode.busy"); |
| </script> |
| |
| <div role="checkbox" id="disabled"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("disabled"); |
| var axNode = accessibilityController.accessibleElementById("disabled"); |
| assert_equals(axNode.restriction, "none"); |
| node.accessibleNode.disabled = true; |
| assert_equals(axNode.restriction, "none"); |
| }, "AccessibleNode.disabled"); |
| </script> |
| |
| <div role="button" id="expanded"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("expanded"); |
| var axNode = accessibilityController.accessibleElementById("expanded"); |
| assert_equals(axNode.isExpanded, false); |
| node.accessibleNode.expanded = true; |
| assert_equals(axNode.isExpanded, false); |
| }, "AccessibleNode.expanded"); |
| </script> |
| |
| <div role="region" id="will-be-hidden"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("will-be-hidden"); |
| var axNode = accessibilityController.accessibleElementById("will-be-hidden"); |
| assert_true(axNode != null); |
| node.accessibleNode.hidden = true; |
| node.id = "hidden"; |
| |
| axNode = accessibilityController.accessibleElementById("hidden"); |
| assert_true(axNode != null); |
| }, "AccessibleNode.hidden"); |
| </script> |
| |
| <div role="dialog" id="modal"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("modal"); |
| var axNode = accessibilityController.accessibleElementById("modal"); |
| assert_equals(axNode.isModal, false); |
| node.accessibleNode.modal = true; |
| assert_equals(axNode.isModal, false); |
| }, "AccessibleNode.modal"); |
| </script> |
| |
| <div role="textbox" id="multiline"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("multiline"); |
| var axNode = accessibilityController.accessibleElementById("multiline"); |
| assert_equals(axNode.isMultiLine, false); |
| node.accessibleNode.multiline = true; |
| assert_equals(axNode.isMultiLine, false); |
| }, "AccessibleNode.multiline"); |
| </script> |
| |
| <div role="listbox" id="multiselectable"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("multiselectable"); |
| var axNode = accessibilityController.accessibleElementById("multiselectable"); |
| assert_equals(axNode.isMultiSelectable, false); |
| node.accessibleNode.multiselectable = true; |
| assert_equals(axNode.isMultiSelectable, false); |
| }, "AccessibleNode.multiselectable"); |
| </script> |
| |
| <div role="textbox" id="readOnly" tabindex="0"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("readOnly"); |
| var axNode = accessibilityController.accessibleElementById("readOnly"); |
| assert_equals(axNode.isAttributeSettable("AXValue"), true); |
| node.accessibleNode.readOnly = true; |
| assert_equals(axNode.isAttributeSettable("AXValue"), true); |
| }, "AccessibleNode.readOnly"); |
| </script> |
| |
| <div role="textbox" id="required"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("required"); |
| var axNode = accessibilityController.accessibleElementById("required"); |
| assert_equals(axNode.isRequired, false); |
| node.accessibleNode.required = true; |
| assert_equals(axNode.isRequired, false); |
| }, "AccessibleNode.required"); |
| </script> |
| |
| <div role="option" id="selected" tabindex="-1"></div> |
| |
| <script> |
| test(function(t) { |
| var node = document.getElementById("selected"); |
| var axNode = accessibilityController.accessibleElementById("selected"); |
| assert_equals(axNode.isSelected, false); |
| node.accessibleNode.selected = true; |
| assert_equals(axNode.isSelected, false); |
| }, "AccessibleNode.selected"); |
| </script> |