OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE HTML> |
| 2 <script src="../resources/gc.js"></script> |
| 3 <script src="../resources/testharness.js"></script> |
| 4 <script src="../resources/testharnessreport.js"></script> |
| 5 |
| 6 <!-- |
| 7 |
| 8 Accessibility Object Model |
| 9 Explainer: https://github.com/WICG/aom/blob/master/explainer.md |
| 10 Spec: https://wicg.github.io/aom/spec/ |
| 11 |
| 12 --> |
| 13 |
| 14 <script> |
| 15 if (window.internals) |
| 16 internals.runtimeFlags.accessibilityObjectModelEnabled = true; |
| 17 </script> |
| 18 |
| 19 <div role="region" id="atomic" aria-atomic="true"></div> |
| 20 |
| 21 <script> |
| 22 test(function(t) { |
| 23 var node = document.getElementById("atomic"); |
| 24 var axNode = accessibilityController.accessibleElementById("atomic"); |
| 25 assert_equals(axNode.isAtomic, true); |
| 26 assert_equals(node.accessibleNode.atomic, null); |
| 27 node.accessibleNode.atomic = false; |
| 28 assert_equals(axNode.isAtomic, false); |
| 29 node.accessibleNode.atomic = null; |
| 30 assert_equals(axNode.isAtomic, true); |
| 31 assert_equals(node.accessibleNode.atomic, null); |
| 32 }, "Boolean AOM properties do not reflect ARIA, and can be cleared."); |
| 33 </script> |
| 34 |
| 35 <div role="region" id="atomic2"></div> |
| 36 |
| 37 <script> |
| 38 test(function(t) { |
| 39 var node = document.getElementById("atomic2"); |
| 40 var axNode = accessibilityController.accessibleElementById("atomic2"); |
| 41 assert_equals(axNode.isAtomic, false); |
| 42 node.accessibleNode.atomic = true; |
| 43 assert_equals(axNode.isAtomic, true); |
| 44 }, "AccessibleNode.atomic"); |
| 45 </script> |
| 46 |
| 47 <div role="status" id="busy"></div> |
| 48 |
| 49 <script> |
| 50 test(function(t) { |
| 51 var node = document.getElementById("busy"); |
| 52 var axNode = accessibilityController.accessibleElementById("busy"); |
| 53 assert_equals(axNode.isBusy, false); |
| 54 node.accessibleNode.busy = true; |
| 55 assert_equals(axNode.isBusy, true); |
| 56 }, "AccessibleNode.busy"); |
| 57 </script> |
| 58 |
| 59 <div role="checkbox" id="disabled"></div> |
| 60 |
| 61 <script> |
| 62 test(function(t) { |
| 63 var node = document.getElementById("disabled"); |
| 64 var axNode = accessibilityController.accessibleElementById("disabled"); |
| 65 assert_equals(axNode.isEnabled, true); |
| 66 node.accessibleNode.disabled = true; |
| 67 assert_equals(axNode.isEnabled, false); |
| 68 }, "AccessibleNode.disabled"); |
| 69 </script> |
| 70 |
| 71 <div role="button" id="expanded"></div> |
| 72 |
| 73 <script> |
| 74 test(function(t) { |
| 75 var node = document.getElementById("expanded"); |
| 76 var axNode = accessibilityController.accessibleElementById("expanded"); |
| 77 assert_equals(axNode.isExpanded, false); |
| 78 node.accessibleNode.expanded = true; |
| 79 assert_equals(axNode.isExpanded, true); |
| 80 }, "AccessibleNode.expanded"); |
| 81 </script> |
| 82 |
| 83 <div role="region" id="hidden"></div> |
| 84 |
| 85 <script> |
| 86 test(function(t) { |
| 87 var node = document.getElementById("hidden"); |
| 88 var axNode = accessibilityController.accessibleElementById("hidden"); |
| 89 assert_true(axNode != null); |
| 90 node.accessibleNode.hidden = true; |
| 91 axNode = accessibilityController.accessibleElementById("hidden"); |
| 92 assert_true(axNode == null); |
| 93 }, "AccessibleNode.hidden"); |
| 94 </script> |
| 95 |
| 96 <div role="dialog" id="modal"></div> |
| 97 |
| 98 <script> |
| 99 test(function(t) { |
| 100 var node = document.getElementById("modal"); |
| 101 var axNode = accessibilityController.accessibleElementById("modal"); |
| 102 assert_equals(axNode.isModal, false); |
| 103 node.accessibleNode.modal = true; |
| 104 assert_equals(axNode.isModal, true); |
| 105 }, "AccessibleNode.modal"); |
| 106 </script> |
| 107 |
| 108 <div role="textbox" id="multiline"></div> |
| 109 |
| 110 <script> |
| 111 test(function(t) { |
| 112 var node = document.getElementById("multiline"); |
| 113 var axNode = accessibilityController.accessibleElementById("multiline"); |
| 114 assert_equals(axNode.isMultiLine, false); |
| 115 node.accessibleNode.multiline = true; |
| 116 assert_equals(axNode.isMultiLine, true); |
| 117 }, "AccessibleNode.multiline"); |
| 118 </script> |
| 119 |
| 120 <div role="listbox" id="multiselectable"></div> |
| 121 |
| 122 <script> |
| 123 test(function(t) { |
| 124 var node = document.getElementById("multiselectable"); |
| 125 var axNode = accessibilityController.accessibleElementById("multiselectable"
); |
| 126 assert_equals(axNode.isMultiSelectable, false); |
| 127 node.accessibleNode.multiselectable = true; |
| 128 assert_equals(axNode.isMultiSelectable, true); |
| 129 }, "AccessibleNode.multiselectable"); |
| 130 </script> |
| 131 |
| 132 <div role="textbox" id="readOnly"></div> |
| 133 |
| 134 <script> |
| 135 test(function(t) { |
| 136 var node = document.getElementById("readOnly"); |
| 137 var axNode = accessibilityController.accessibleElementById("readOnly"); |
| 138 assert_equals(axNode.isAttributeSettable("AXValue"), true); |
| 139 node.accessibleNode.readOnly = true; |
| 140 assert_equals(axNode.isAttributeSettable("AXValue"), false); |
| 141 }, "AccessibleNode.readOnly"); |
| 142 </script> |
| 143 |
| 144 <div role="textbox" id="required"></div> |
| 145 |
| 146 <script> |
| 147 test(function(t) { |
| 148 var node = document.getElementById("required"); |
| 149 var axNode = accessibilityController.accessibleElementById("required"); |
| 150 assert_equals(axNode.isRequired, false); |
| 151 node.accessibleNode.required = true; |
| 152 assert_equals(axNode.isRequired, true); |
| 153 }, "AccessibleNode.required"); |
| 154 </script> |
| 155 |
| 156 <div role="option" id="selected"></div> |
| 157 |
| 158 <script> |
| 159 test(function(t) { |
| 160 var node = document.getElementById("selected"); |
| 161 var axNode = accessibilityController.accessibleElementById("selected"); |
| 162 assert_equals(axNode.isSelected, false); |
| 163 node.accessibleNode.selected = true; |
| 164 assert_equals(axNode.isSelected, true); |
| 165 }, "AccessibleNode.selected"); |
| 166 </script> |
OLD | NEW |