Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /css/selectors/invalidation/dir-pseudo-class-in-has.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<html class="reftest-wait">
<head>
<link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"/>
</head>
<body>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<section><div id="ltr1" class="ltr"></div></section>
<section id="ltr2" dir="rtl"><div class="ltr"><span></span></div></section>
<section dir="ltr"><div class="ltr"><span></span></div></section>
<section><div id="rtl1" class="rtl"><span></span></div></section>
<section id="rtl2"><div class="rtl"><span></span></div></section>
<style>
div, section { width: 100px; height: 20px; }
section { background: red; }
.ltr:has(*:dir(ltr)) { background: green; }
.ltr:has(*:dir(rtl)) { background: red; }
.rtl:has(*:dir(rtl)) { background: green; }
.rtl:has(*:dir(ltr)) { background: red; }
</style>
<script>
requestAnimationFrame(() => {
setTimeout(() => {
ltr1.appendChild(document.createElement('span'));
ltr2.dir = 'ltr';
rtl1.dir = 'rtl';
rtl2.dir = 'rtl';
document.documentElement.className = '';
}, 0);
});
</script>
</body>
</html>