summaryrefslogtreecommitdiffstats
path: root/accessible/tests/browser/role/browser_minimumRole.js
diff options
context:
space:
mode:
Diffstat (limited to 'accessible/tests/browser/role/browser_minimumRole.js')
-rw-r--r--accessible/tests/browser/role/browser_minimumRole.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/accessible/tests/browser/role/browser_minimumRole.js b/accessible/tests/browser/role/browser_minimumRole.js
new file mode 100644
index 0000000000..c02c35bc9c
--- /dev/null
+++ b/accessible/tests/browser/role/browser_minimumRole.js
@@ -0,0 +1,59 @@
+/* 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";
+
+/* import-globals-from ../../mochitest/role.js */
+loadScripts({ name: "role.js", dir: MOCHITESTS_DIR });
+
+/**
+ * Test that popover gets a minimum role.
+ */
+addAccessibleTask(
+ `
+<div id="generic" popover>generic</div>
+<div id="alert" role="alert" popover>alert</div>
+<blockquote id="blockquote" popover>blockquote</div>
+ `,
+ async function testPopover(browser, docAcc) {
+ let generic = findAccessibleChildByID(docAcc, "generic");
+ ok(!generic, "generic doesn't have an Accessible");
+ info("Showing generic");
+ let shown = waitForEvent(EVENT_SHOW, "generic");
+ await invokeContentTask(browser, [], () => {
+ content.document.getElementById("generic").showPopover();
+ });
+ generic = (await shown).accessible;
+ testRole(generic, ROLE_GROUPING, "generic has minimum role group");
+ info("Setting popover to null on generic");
+ // Setting popover to null causes the Accessible to be recreated.
+ shown = waitForEvent(EVENT_SHOW, "generic");
+ await invokeContentTask(browser, [], () => {
+ content.document.getElementById("generic").popover = null;
+ });
+ generic = (await shown).accessible;
+ testRole(generic, ROLE_SECTION, "generic has generic role");
+
+ let alert = findAccessibleChildByID(docAcc, "alert");
+ ok(!alert, "alert doesn't have an Accessible");
+ info("Showing alert");
+ shown = waitForEvent(EVENT_SHOW, "alert");
+ await invokeContentTask(browser, [], () => {
+ content.document.getElementById("alert").showPopover();
+ });
+ alert = (await shown).accessible;
+ testRole(alert, ROLE_ALERT, "alert has role alert");
+
+ let blockquote = findAccessibleChildByID(docAcc, "blockquote");
+ ok(!blockquote, "blockquote doesn't have an Accessible");
+ info("Showing blockquote");
+ shown = waitForEvent(EVENT_SHOW, "blockquote");
+ await invokeContentTask(browser, [], () => {
+ content.document.getElementById("blockquote").showPopover();
+ });
+ blockquote = (await shown).accessible;
+ testRole(blockquote, ROLE_BLOCKQUOTE, "blockquote has role blockquote");
+ },
+ { chrome: true, topLevel: true }
+);