/* 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-describedby */ addAccessibleTask( `
This is a hint
`, async (browser, accDoc) => { let btn = getNativeInterface(accDoc, "btn"); let customContent = btn.getAttributeValue("AXCustomContent"); is(customContent[0].description, "This is a hint"); ok(!btn.getAttributeValue("AXHelp"), "No AXHelp expected"); }, { chrome: true, topLevel: true } ); /** * Test aria-description */ addAccessibleTask( ``, async (browser, accDoc) => { let btn = getNativeInterface(accDoc, "btn"); let customContent = btn.getAttributeValue("AXCustomContent"); is(customContent[0].description, "This is a hint too"); ok(!btn.getAttributeValue("AXHelp"), "No AXHelp expected"); }, { chrome: true, topLevel: true } ); /** * Test link title */ addAccessibleTask( `Hello`, async (browser, accDoc) => { let lnk = getNativeInterface(accDoc, "lnk"); is(lnk.getAttributeValue("AXHelp"), "This is a link title"); ok(!lnk.getAttributeValue("AXCustomContent"), "No custom content expected"); }, { chrome: true, topLevel: true } ); /** * Verify fieldset and radio group with aria-describedby * expose description via AXCustomContent, not AXHelp. */ addAccessibleTask( `
This is a hinto
`, async (browser, accDoc) => { let getHelp = id => getNativeInterface(accDoc, id).getAttributeValue("AXHelp"); let getCustomDescription = id => getNativeInterface(accDoc, id).getAttributeValue("AXCustomContent")[0] .description; is( getHelp("fieldset"), null, "No AXHelp for fieldset with aria-describedby" ); is( getCustomDescription("fieldset"), "This is a hinto", "Custom description for fieldset" ); is( getHelp("radiogroup"), null, "No AXHelp for radiogroup with aria-describedby" ); is( getCustomDescription("radiogroup"), "This is a hinto", "Custom description for radiogroup" ); } );