mirror of
https://github.com/servo/servo.git
synced 2025-07-12 01:43:43 +01:00
45 lines
1.5 KiB
HTML
45 lines
1.5 KiB
HTML
<!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>
|