summaryrefslogtreecommitdiffstats
path: root/accessible/tests/browser/mac/browser_aria_setsize.js
diff options
context:
space:
mode:
Diffstat (limited to 'accessible/tests/browser/mac/browser_aria_setsize.js')
-rw-r--r--accessible/tests/browser/mac/browser_aria_setsize.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/accessible/tests/browser/mac/browser_aria_setsize.js b/accessible/tests/browser/mac/browser_aria_setsize.js
new file mode 100644
index 0000000000..e37afb4e63
--- /dev/null
+++ b/accessible/tests/browser/mac/browser_aria_setsize.js
@@ -0,0 +1,47 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+/**
+ * Test aria-setsize and aria-posinset
+ */
+addAccessibleTask(
+ `<div role="listbox" id="select" aria-label="Choose a number">
+ <div role="option" id="two" aria-setsize="5" aria-posinset="2">Two</div>
+ <div role="option" id="three" aria-setsize="5" aria-posinset="3">Three</div>
+ <div role="option" id="four" aria-setsize="5" aria-posinset="4">Four</div>
+ </div>
+ <p id="p">Hello</p>`,
+ async (browser, accDoc) => {
+ function testPosInSet(id, setsize, posinset) {
+ let elem = getNativeInterface(accDoc, id);
+ is(
+ elem.getAttributeValue("AXARIASetSize"),
+ setsize,
+ `${id}: Correct set size`
+ );
+
+ is(
+ elem.getAttributeValue("AXARIAPosInSet"),
+ posinset,
+ `${id}: Correct position in set`
+ );
+ }
+
+ testPosInSet("two", 5, 2);
+ testPosInSet("three", 5, 3);
+ testPosInSet("four", 5, 4);
+
+ let p = getNativeInterface(accDoc, "p");
+ ok(
+ !p.attributeNames.includes("AXARIASetSize"),
+ "Paragraph should not have AXARIASetSize"
+ );
+ ok(
+ !p.attributeNames.includes("AXARIAPosInSet"),
+ "Paragraph should not have AXARIAPosInSet"
+ );
+ }
+);