<!DOCTYPE html><metacharset="utf-8"/><title>Interaction of 'inert' attribute with modal dialog</title><linkrel="author"title="Oriol Brufau"href="mailto:obrufau@igalia.com"><linkrel="help"href="https://html.spec.whatwg.org/multipage/interaction.html#inert"><metaname="assert"content="Checks that a modal dialog escapes inertness from ancestors."><divid="log"></div><divid="wrapper"> wrapper<dialogid="dialog"> dialog<spanid="child"> child</span></dialog></div><scriptsrc="/resources/testharness.js"></script><scriptsrc="/resources/testharnessreport.js"></script><script>setup(()=>{dialog.showModal();add_completion_callback(()=>{dialog.close();getSelection().removeAllRanges();});});functioncheckSelection(expectedText){constselection=getSelection();selection.selectAllChildren(document.documentElement);constactualText=selection.toString().trim();assert_equals(actualText,expectedText);}test(function(){checkSelection("dialog child");},"Modal dialog only marks outside nodes as inert");test(function(){child.inert=true;this.add_cleanup(()=>{child.inert=false;});checkSelection("dialog");},"Inner nodes with 'inert' attribute become inert anyways");test(function(){dialog.inert=true;this.add_cleanup(()=>{dialog.inert=false;});checkSelection("");},"If the modal dialog has the 'inert' attribute, everything becomes inert");test(function(){wrapper.inert=true;this.add_cleanup(()=>{wrapper.inert=false;});checkSelection("dialog child");},"If an ancestor of the dialog has the 'inert' attribute, the dialog escapes inertness");</script>