<!doctype html> <title>Range.intersectsNode with Shadow DOM</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <div id="host"></div> <script> test(() => { const host = document.getElementById("host"); host.attachShadow({ mode: "open" }).innerHTML = `<span>ABC</span>`; const range = document.createRange(); range.selectNode(document.body); assert_true(range.intersectsNode(host), "Should intersect host"); assert_false(range.intersectsNode(host.shadowRoot), "Should not intersect shadow root"); assert_false(range.intersectsNode(host.shadowRoot.firstElementChild), "Should not intersect shadow span"); }, "Range.intersectsNode() doesn't return true for shadow children in other trees"); </script>