diff options
Diffstat (limited to 'testing/web-platform/tests/css/selectors/focus-within-shadow-006.html')
-rw-r--r-- | testing/web-platform/tests/css/selectors/focus-within-shadow-006.html | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/selectors/focus-within-shadow-006.html b/testing/web-platform/tests/css/selectors/focus-within-shadow-006.html new file mode 100644 index 0000000000..39a2f70610 --- /dev/null +++ b/testing/web-platform/tests/css/selectors/focus-within-shadow-006.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<meta charset="utf-8"> +<title>Selectors Level 4: focus-within with shadow DOM</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#focus-within-pseudo"> +<link rel="help" href="https://dom.spec.whatwg.org/#shadow-trees"> +<link rel="match" href="focus-within-shadow-001-ref.html"> +<meta name="flags" content="dom"> +<meta name="assert" content="Checks that ':focus-within' is propagated to the flat tree ancestors, even if it comes from a slotted element."> +<style> + /* Suppress things that cannot be reproduced in the reference file */ + :focus { + outline: none; + } + :focus-within { + border-color: green; + } +</style> +<p>Test passes if there is a green rectangle below.</p> + +<div id="log"></div> +<script> + if (!document.body.attachShadow) + document.getElementById("log").innerHTML = "<strong>Skip this test, shadow DOM is not supported.</strong>"; +</script> + +<div id="shadow-host"> + <div id="focusme" tabindex="1"></div> +</div> + +<script> + var shadowHost = document.getElementById("shadow-host"); + shadowHost.attachShadow({ mode: "open"}).innerHTML = + "<style>" + + " #shadow-div:focus-within { border: solid 15px green; }" + + "</style>" + + "<div id='shadow-div'>" + + " <slot></slot>" + + "</div>"; + var focusme = document.getElementById("focusme"); + focusme.focus(); + document.documentElement.classList.remove("reftest-wait"); +</script> +</html> |