Status: FAIL | Duration: 12ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-pseudo/highlight-cascade/highlight-currentcolor-root-implicit-default-001.html
<!doctype html> <meta charset="utf-8"> <title>CSS Pseudo-Elements Test: implicit defaulting of ‘color’ in :root highlights</title> <meta name="assert" content="Checks the painting for ::selection and ::highlight, when ‘background-color’ is set in the root element but ‘color’ is implicitly defaulted. ‘background-color’ suppresses the UA default ‘color’ for ::selection via paired cascade. The resultant ‘color’ inherits through ancestor highlight pseudos up to the root, where the inherited value is defined as ‘currentColor’ for highlights, yielding green."> <link rel="help" href="https://drafts.csswg.org/css-pseudo/#highlight-selectors"> <link rel="match" href="highlight-currentcolor-root-implicit-default-ref.html"> <p>Pass if text below is green on lime, and the text itself represents green, not initial (black).</p> <main>FAIL</main> <main>FAIL</main> <style> main { color: green; } :root::selection { background-color: lime; } :root::highlight(foo) { background-color: lime; } </style> <script> const [selection, highlight] = document.querySelectorAll("main"); let selectionRange = new Range(); selectionRange.selectNode(selection); window.getSelection().addRange(selectionRange); selection.textContent = getComputedStyle(selection, "::selection").color; let highlightRange = new Range(); highlightRange.selectNode(highlight); CSS.highlights.set("foo", new Highlight(highlightRange)); highlight.textContent = getComputedStyle(highlight, "::highlight(foo)").color; </script>
/css/css-pseudo/highlight-cascade/highlight-currentcolor-root-implicit-default-ref.html
<!doctype html> <meta charset="utf-8"> <title>CSS Reftest Reference</title> <p>Pass if text below is green on lime, and the text itself represents green, not initial (black).</p> <main>rgb(0, 128, 0)</main> <main>rgb(0, 128, 0)</main> <style> main { color: green; } main::selection { background-color: lime; color: green; } main::highlight(foo) { background-color: lime; color: green; } </style> <script> const [selection, highlight] = document.querySelectorAll("main"); let selectionRange = new Range(); selectionRange.selectNode(selection); window.getSelection().addRange(selectionRange); let highlightRange = new Range(); highlightRange.selectNode(highlight); CSS.highlights.set("foo", new Highlight(highlightRange)); </script>