/** * Verify that an anchor element reports a generic role without an href * attribute and reports a LINK role with it present. Verify that these roles * change as the attribute appears and disappears.
*/
addAccessibleTask(
`
<a id="link">test</a>
`,
async function (browser, accDoc) {
let link = findAccessibleChildByID(accDoc, "link");
is(link.role, ROLE_TEXT, "Checking role of anchor element without href");
let onHideAndShow = waitForEvents({
expected: [
[EVENT_HIDE, link],
[EVENT_SHOW, "link"],
],
});
info("Adding an href to the anchor element");
await invokeContentTask(browser, [], () => {
content.document.getElementById("link").setAttribute("href", "#");
});
await onHideAndShow;
link = findAccessibleChildByID(accDoc, "link");
is(link.role, ROLE_LINK, "Checking role of anchor element with href");
onHideAndShow = waitForEvents({
expected: [
[EVENT_HIDE, link],
[EVENT_SHOW, "link"],
],
});
info("Removing the href from the anchor element");
await invokeContentTask(browser, [], () => {
content.document.getElementById("link").removeAttribute("href");
});
await onHideAndShow;
link = findAccessibleChildByID(accDoc, "link");
is(link.role, ROLE_TEXT, "Checking role of anchor element without href");
},
{
chrome: true,
topLevel: true,
iframe: true,
remoteIframe: true,
}
);
/** * Verify that an anchor element reports a generic role without a click listener * and reports a LINK role with it present. Verify that these roles change as * the click listener appears.
*/
addAccessibleTask(
`
<a id="link">test</a>
`,
async function (browser, accDoc) {
let link = findAccessibleChildByID(accDoc, "link");
is(
link.role,
ROLE_TEXT, "Checking role of anchor element without click listener"
);
let onHideAndShow = waitForEvents({
expected: [
[EVENT_HIDE, link],
[EVENT_SHOW, "link"],
],
});
info("Adding a click listener to the anchor element");
await invokeContentTask(browser, [], () => {
content.document
.getElementById("link")
.addEventListener("click", () => {});
});
await onHideAndShow;
link = findAccessibleChildByID(accDoc, "link");
is(
link.role,
ROLE_LINK, "Checking role of anchor element with click listener"
);
},
{
chrome: true,
topLevel: true,
iframe: true,
remoteIframe: true,
}
);
/** * Verify that an area element reports a generic role without an href * attribute and reports a LINK role with it present. Verify that these roles * change as the attribute appears and disappears.
*/
addAccessibleTask(
`
<map name="map">
<area id="link">
</map>
<img id="img" usemap="#map" src="http://example.com/a11y/accessible/tests/mochitest/letters.gif">
`,
async function (browser, accDoc) {
let link = findAccessibleChildByID(accDoc, "link");
is(link.role, ROLE_TEXT, "Checking role of area element without href");
let img = findAccessibleChildByID(accDoc, "img");
let onHideAndShow = waitForEvents({
expected: [
[EVENT_HIDE, img],
[EVENT_SHOW, "img"],
],
});
info("Adding an href to the area element");
await invokeContentTask(browser, [], () => {
content.document.getElementById("link").setAttribute("href", "#");
});
await onHideAndShow;
link = findAccessibleChildByID(accDoc, "link");
is(link.role, ROLE_LINK, "Checking role of area element with href");
img = findAccessibleChildByID(accDoc, "img");
onHideAndShow = waitForEvents({
expected: [
[EVENT_HIDE, img],
[EVENT_SHOW, "img"],
],
});
info("Removing the href from the area element");
await invokeContentTask(browser, [], () => {
content.document.getElementById("link").removeAttribute("href");
});
await onHideAndShow;
link = findAccessibleChildByID(accDoc, "link");
is(link.role, ROLE_TEXT, "Checking role of area element without href");
},
{
chrome: true,
topLevel: true,
iframe: true,
remoteIframe: true,
}
);
/** * Verify that an area element reports a generic role without a click listener * and reports a LINK role with it present. Verify that these roles change as * the click listener appears.
*/
addAccessibleTask(
`
<map name="map">
<area id="link">
</map>
<img id="img" usemap="#map" src="http://example.com/a11y/accessible/tests/mochitest/letters.gif">
`,
async function (browser, accDoc) {
let link = findAccessibleChildByID(accDoc, "link");
is(
link.role,
ROLE_TEXT, "Checking role of area element without click listener"
);
let img = findAccessibleChildByID(accDoc, "img");
let onHideAndShow = waitForEvents({
expected: [
[EVENT_HIDE, img],
[EVENT_SHOW, "img"],
],
});
info("Adding a click listener to the area element");
await invokeContentTask(browser, [], () => {
content.document
.getElementById("link")
.addEventListener("click", () => {});
});
await onHideAndShow;
link = findAccessibleChildByID(accDoc, "link");
is(
link.role,
ROLE_LINK, "Checking role of area element with click listener"
);
},
{
chrome: true,
topLevel: true,
iframe: true,
remoteIframe: true,
}
);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.