/* 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/. */
addAccessibleTask(snippet, async function (browser, accDoc) {
let container = findAccessibleChildByID(accDoc, "container");
testChildrenIds(container, ["l1"]);
await contentSpawnMutation(browser, REORDER, function () {
let labelEl = content.document.createElement("label");
labelEl.id = "l2";
let containerEl = content.document.getElementById("container");
containerEl.appendChild(labelEl);
});
testChildrenIds(container, ["l1", "l2"]);
});
// Dynamically inserted not accessible custom element containing an accessible // in its shadow DOM. const snippet2 = `
<script>
customElements.define("x-el2", classextends HTMLElement {
constructor() { super(); this.attachShadow({ mode: "open" }); this.shadowRoot.innerHTML = "";
}
});
</script>
<div role="group" id="container"></div>
`;
addAccessibleTask(snippet2, async function (browser, accDoc) {
let container = findAccessibleChildByID(accDoc, "container");
await contentSpawnMutation(browser, REORDER, function () {
content.document.getElementById("container").innerHTML = "";
});
testChildrenIds(container, ["input"]);
});
/** * Ensure that changing the slot on the body while moving the body doesn't * try to remove the DocAccessible. We test this here instead of in * accessible/tests/mochitest/treeupdate/test_shadow_slots.html because this * messes with the body element and we don't want that to impact other tests.
*/
addAccessibleTask(
`
<div id="host"></div>
<script> const host = document.getElementById("host");
host.attachShadow({ mode: "open" }); const emptyScript = document.createElement("script");
emptyScript.id = "emptyScript";
document.head.append(emptyScript);
</script>
`,
async function (browser, docAcc) {
info("Moving body and setting slot on body");
let reordered = waitForEvent(EVENT_REORDER, docAcc);
await invokeContentTask(browser, [], () => { const host = content.document.getElementById("host"); const emptyScript = content.document.getElementById("emptyScript"); const body = content.document.body;
emptyScript.append(host);
host.append(body);
body.slot = "";
});
await reordered;
is(docAcc.childCount, 0, "document has no children after body move");
},
{ 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.