Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Unified Diff: third_party/WebKit/LayoutTests/accessibility/aom-relation-properties.html

Issue 2945773002: Relation properties for Accessibility Object Model phase 1 (Closed)
Patch Set: Fix merge error, format Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/accessibility/aom-relation-properties.html
diff --git a/third_party/WebKit/LayoutTests/accessibility/aom-relation-properties.html b/third_party/WebKit/LayoutTests/accessibility/aom-relation-properties.html
new file mode 100644
index 0000000000000000000000000000000000000000..f9396af30b5b9cec0442463d7536e69220595223
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/accessibility/aom-relation-properties.html
@@ -0,0 +1,76 @@
+<!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>
+
+<div role="listbox" id="listbox" tabindex=0>
+ <div role="option" id="option1">Option 1</div>
+ <div role="option" id="option2">Option 2</div>
+ <div role="option" id="option3">Option 3</div>
+</div>
+
+<script>
+test(function(t) {
+ var listbox = document.getElementById("listbox");
+ var option1 = document.getElementById("option1");
+ listbox.focus();
+ var axListbox = accessibilityController.accessibleElementById("listbox");
+ var axOption1 = accessibilityController.accessibleElementById("option1");
+ assert_false(axOption1.isSelected);
+ assert_equals(axListbox.ariaActiveDescendantElement(), undefined);
+
+ listbox.accessibleNode.activeDescendant = option1.accessibleNode;
+
+ assert_true(axListbox.ariaActiveDescendantElement().isEqual(axOption1));
+ // Active Descendant also makes the option selected.
+ assert_true(axOption1.isSelected);
+}, "AccessibleNode.activeDescendant");
+</script>
+
+<input id="input1">
+<div id="details">Details</div>
+
+<script>
+test(function(t) {
+ var input1 = document.getElementById("input1");
+ var details = document.getElementById("details");
+ var axInput1 = accessibilityController.accessibleElementById("input1");
+ var axDetails = accessibilityController.accessibleElementById("details");
+ assert_equals(axInput1.ariaDetailsElement(), undefined);
+
+ input1.accessibleNode.details = details.accessibleNode;
+
+ assert_true(axInput1.ariaDetailsElement().isEqual(axDetails));
+}, "AccessibleNode.details");
+</script>
+
+<input id="input2">
+<div id="errorMessage">ErrorMessage</div>
+
+<script>
+test(function(t) {
+ var input2 = document.getElementById("input2");
+ var errorMessage = document.getElementById("errorMessage");
+ var axInput2 = accessibilityController.accessibleElementById("input2");
+ var axErrorMessage = accessibilityController.accessibleElementById("errorMessage");
+ assert_equals(axInput2.ariaErrorMessageElement(), undefined);
+
+ input2.accessibleNode.errorMessage = errorMessage.accessibleNode;
+
+ assert_true(axInput2.ariaErrorMessageElement().isEqual(axErrorMessage));
+}, "AccessibleNode.errorMessage");
+</script>

Powered by Google App Engine
This is Rietveld 408576698