/* 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/attributes.js */ loadScripts({ name: "attributes.js", dir: MOCHITESTS_DIR }); addAccessibleTask( "mac/doc_rich_listbox.xhtml", async (browser, accDoc) => { const categories = getNativeInterface(accDoc, "categories"); const categoriesChildren = categories.getAttributeValue("AXChildren"); is(categoriesChildren.length, 4, "Found listbox and 4 items"); const general = getNativeInterface(accDoc, "general"); is( general.getAttributeValue("AXTitle"), "general", "general has appropriate title" ); is( categoriesChildren[0].getAttributeValue("AXTitle"), general.getAttributeValue("AXTitle"), "Found general listitem" ); is( general.getAttributeValue("AXEnabled"), 1, "general is enabled, not dimmed" ); const home = getNativeInterface(accDoc, "home"); is(home.getAttributeValue("AXTitle"), "home", "home has appropriate title"); is( categoriesChildren[1].getAttributeValue("AXTitle"), home.getAttributeValue("AXTitle"), "Found home listitem" ); is(home.getAttributeValue("AXEnabled"), 1, "Home is enabled, not dimmed"); const search = getNativeInterface(accDoc, "search"); is( search.getAttributeValue("AXTitle"), "search", "search has appropriate title" ); is( categoriesChildren[2].getAttributeValue("AXTitle"), search.getAttributeValue("AXTitle"), "Found search listitem" ); is( search.getAttributeValue("AXEnabled"), 1, "search is enabled, not dimmed" ); const privacy = getNativeInterface(accDoc, "privacy"); is( privacy.getAttributeValue("AXTitle"), "privacy", "privacy has appropriate title" ); is( categoriesChildren[3].getAttributeValue("AXTitle"), privacy.getAttributeValue("AXTitle"), "Found privacy listitem" ); }, { topLevel: false, chrome: true } );