diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-active-document.html b/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-active-document.html
new file mode 100644
index 0000000000000..cd76ec3faaebc
--- /dev/null
+++ b/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-active-document.html
@@ -0,0 +1,184 @@
+<
+!
+DOCTYPE
+html
+>
+<
+meta
+charset
+=
+"
+utf
+-
+8
+"
+>
+<
+link
+rel
+=
+"
+author
+"
+href
+=
+"
+mailto
+:
+masonf
+chromium
+.
+org
+"
+>
+<
+link
+rel
+=
+help
+href
+=
+"
+https
+:
+/
+/
+github
+.
+com
+/
+whatwg
+/
+html
+/
+pull
+/
+10705
+"
+>
+<
+script
+src
+=
+"
+/
+resources
+/
+testharness
+.
+js
+"
+>
+<
+/
+script
+>
+<
+script
+src
+=
+"
+/
+resources
+/
+testharnessreport
+.
+js
+"
+>
+<
+/
+script
+>
+<
+script
+>
+test
+(
+(
+)
+=
+>
+{
+const
+doc
+=
+document
+.
+implementation
+.
+createHTMLDocument
+(
+)
+;
+const
+dialog
+=
+doc
+.
+createElement
+(
+'
+dialog
+'
+)
+;
+doc
+.
+body
+.
+appendChild
+(
+dialog
+)
+;
+assert_throws_dom
+(
+'
+InvalidStateError
+'
+(
+)
+=
+>
+dialog
+.
+showModal
+(
+)
+)
+;
+assert_false
+(
+dialog
+.
+matches
+(
+'
+[
+open
+]
+'
+)
+)
+;
+}
+'
+showModal
+should
+throw
+when
+the
+document
+isn
+\
+'
+t
+active
+'
+)
+;
+<
+/
+script
+>
diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html b/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html
index 0ce68140b6b05..f6d3ef0de4fbb 100644
--- a/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html
+++ b/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html
@@ -1675,37 +1675,32 @@
open
)
;
+assert_throws_dom
+(
+"
+INVALID_STATE_ERR
+"
+(
+)
+=
+>
d11
.
showModal
(
)
-;
-assert_true
-(
-d11
-.
-open
)
;
-this
-.
-add_cleanup
-(
+assert_false
(
-)
-=
->
d11
.
-close
-(
-)
+open
)
;
}
"
-Although
+When
the
document
is
@@ -1718,9 +1713,7 @@
(
)
should
-execute
-as
-normal
+throw
.
"
)
diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-active-document.html b/testing/web-platform/tests/html/semantics/popovers/popover-active-document.html
new file mode 100644
index 0000000000000..ca8675533422a
--- /dev/null
+++ b/testing/web-platform/tests/html/semantics/popovers/popover-active-document.html
@@ -0,0 +1,194 @@
+<
+!
+DOCTYPE
+html
+>
+<
+meta
+charset
+=
+"
+utf
+-
+8
+"
+>
+<
+link
+rel
+=
+"
+author
+"
+href
+=
+"
+mailto
+:
+masonf
+chromium
+.
+org
+"
+>
+<
+link
+rel
+=
+help
+href
+=
+"
+https
+:
+/
+/
+github
+.
+com
+/
+whatwg
+/
+html
+/
+pull
+/
+10705
+"
+>
+<
+script
+src
+=
+"
+/
+resources
+/
+testharness
+.
+js
+"
+>
+<
+/
+script
+>
+<
+script
+src
+=
+"
+/
+resources
+/
+testharnessreport
+.
+js
+"
+>
+<
+/
+script
+>
+<
+script
+>
+test
+(
+(
+)
+=
+>
+{
+const
+doc
+=
+document
+.
+implementation
+.
+createHTMLDocument
+(
+)
+;
+const
+popover
+=
+doc
+.
+createElement
+(
+'
+div
+'
+)
+;
+popover
+.
+setAttribute
+(
+'
+popover
+'
+'
+'
+)
+;
+doc
+.
+body
+.
+appendChild
+(
+popover
+)
+;
+assert_throws_dom
+(
+'
+InvalidStateError
+'
+(
+)
+=
+>
+popover
+.
+showPopover
+(
+)
+)
+;
+assert_false
+(
+popover
+.
+matches
+(
+'
+:
+open
+'
+)
+)
+;
+}
+'
+showPopover
+should
+throw
+when
+the
+document
+isn
+\
+'
+t
+active
+'
+)
+;
+<
+/
+script
+>