blob: eaa6162bf63ab2c3614b7871fc6a297f170f2a45 [file] [log] [blame]
<!doctype HTML>
<meta charset="utf8">
<title>Content Visibility: tab order navigation ignores hidden subtrees</title>
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
<link rel="help" href="https://github.com/WICG/display-locking">
<link rel="match" href="activated-removes-size-containment-ref.html">
<meta name="assert" content="tab order navigation ignores hidden subtrees.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-actions.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<style>
.hidden {
content-visibility: hidden-matchable;
}
</style>
<input id=one type=text></input>
<div class=hidden>
<input id=two type=text></input>
<input id=three type=text></input>
<input id=four type=text></input>
</div>
<input id=five type=text></input>
<script>
async_test((t) => {
const tab = "\t";
async function step1() {
await test_driver.send_keys(document.body, tab);
t.step(() => {
assert_equals(document.activeElement, document.getElementById("one"));
});
requestAnimationFrame(step2);
}
async function step2() {
await test_driver.send_keys(document.body, tab);
t.step(() => {
assert_equals(document.activeElement, document.getElementById("five"));
});
t.done();
}
window.onload = () => { requestAnimationFrame(step1); };
}, "Tab order navigation skips hidden subtrees");
</script>