tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_minimumRole.js (2323B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 "use strict";
      6 
      7 /* import-globals-from ../../mochitest/role.js */
      8 loadScripts({ name: "role.js", dir: MOCHITESTS_DIR });
      9 
     10 /**
     11 * Test that popover gets a minimum role.
     12 */
     13 addAccessibleTask(
     14  `
     15 <div id="generic" popover>generic</div>
     16 <div id="alert" role="alert" popover>alert</div>
     17 <blockquote id="blockquote" popover>blockquote</div>
     18  `,
     19  async function testPopover(browser, docAcc) {
     20    let generic = findAccessibleChildByID(docAcc, "generic");
     21    ok(!generic, "generic doesn't have an Accessible");
     22    info("Showing generic");
     23    let shown = waitForEvent(EVENT_SHOW, "generic");
     24    await invokeContentTask(browser, [], () => {
     25      content.document.getElementById("generic").showPopover();
     26    });
     27    generic = (await shown).accessible;
     28    testRole(generic, ROLE_GROUPING, "generic has minimum role group");
     29    info("Setting popover to null on generic");
     30    // Setting popover to null causes the Accessible to be recreated.
     31    shown = waitForEvent(EVENT_SHOW, "generic");
     32    await invokeContentTask(browser, [], () => {
     33      content.document.getElementById("generic").popover = null;
     34    });
     35    generic = (await shown).accessible;
     36    testRole(generic, ROLE_SECTION, "generic has generic role");
     37 
     38    let alert = findAccessibleChildByID(docAcc, "alert");
     39    ok(!alert, "alert doesn't have an Accessible");
     40    info("Showing alert");
     41    shown = waitForEvent(EVENT_SHOW, "alert");
     42    await invokeContentTask(browser, [], () => {
     43      content.document.getElementById("alert").showPopover();
     44    });
     45    alert = (await shown).accessible;
     46    testRole(alert, ROLE_ALERT, "alert has role alert");
     47 
     48    let blockquote = findAccessibleChildByID(docAcc, "blockquote");
     49    ok(!blockquote, "blockquote doesn't have an Accessible");
     50    info("Showing blockquote");
     51    shown = waitForEvent(EVENT_SHOW, "blockquote");
     52    await invokeContentTask(browser, [], () => {
     53      content.document.getElementById("blockquote").showPopover();
     54    });
     55    blockquote = (await shown).accessible;
     56    testRole(blockquote, ROLE_BLOCKQUOTE, "blockquote has role blockquote");
     57  },
     58  { chrome: true, topLevel: true }
     59 );