Index: third_party/WebKit/LayoutTests/accessibility/aom-boolean-properties.html |
diff --git a/third_party/WebKit/LayoutTests/accessibility/aom-boolean-properties.html b/third_party/WebKit/LayoutTests/accessibility/aom-boolean-properties.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cf2813087311a68d6f631a0404d3cc9c79c869d2 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/accessibility/aom-boolean-properties.html |
@@ -0,0 +1,166 @@ |
+<!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> |
+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, false); |
+ 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, true); |
+}, "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, true); |
+}, "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.isEnabled, true); |
+ node.accessibleNode.disabled = true; |
+ assert_equals(axNode.isEnabled, false); |
+}, "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, true); |
+}, "AccessibleNode.expanded"); |
+</script> |
+ |
+<div role="region" id="hidden"></div> |
+ |
+<script> |
+test(function(t) { |
+ var node = document.getElementById("hidden"); |
+ var axNode = accessibilityController.accessibleElementById("hidden"); |
+ assert_true(axNode != null); |
+ node.accessibleNode.hidden = true; |
+ 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, true); |
+}, "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, true); |
+}, "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, true); |
+}, "AccessibleNode.multiselectable"); |
+</script> |
+ |
+<div role="textbox" id="readOnly"></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"), false); |
+}, "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, true); |
+}, "AccessibleNode.required"); |
+</script> |
+ |
+<div role="option" id="selected"></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, true); |
+}, "AccessibleNode.selected"); |
+</script> |