diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute.tentative.html b/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute.tentative.html
index df033b47a52d3..90dc021389b63 100644
--- a/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute.tentative.html
+++ b/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute.tentative.html
@@ -125,8 +125,16 @@
<
dialog
>
-hello
-world
+<
+button
+>
+button
+in
+dialog
+<
+/
+button
+>
<
/
dialog
@@ -158,6 +166,20 @@
'
)
;
+const
+dialogbutton
+=
+document
+.
+querySelector
+(
+'
+dialog
+>
+button
+'
+)
+;
promise_test
(
async
@@ -165,12 +187,41 @@
=
>
{
+button
+.
+focus
+(
+)
+;
dialog
.
showModal
(
)
;
+assert_equals
+(
+document
+.
+activeElement
+dialogbutton
+'
+<
+button
+>
+in
+<
+dialog
+>
+should
+be
+focused
+after
+opening
+.
+'
+)
+;
let
closeFired
=
@@ -222,6 +273,32 @@
'
)
;
+assert_equals
+(
+document
+.
+activeElement
+dialogbutton
+'
+<
+button
+>
+in
+<
+dialog
+>
+should
+still
+be
+focused
+immediately
+after
+removing
+open
+.
+'
+)
+;
await
new
Promise
@@ -245,6 +322,28 @@
requestAnimationFrame
)
;
+assert_equals
+(
+document
+.
+activeElement
+button
+'
+Previously
+focused
+element
+should
+be
+focused
+after
+waiting
+for
+a
+task
+.
+'
+)
+;
assert_false
(
dialog
@@ -385,12 +484,41 @@
=
>
{
+button
+.
+focus
+(
+)
+;
dialog
.
show
(
)
;
+assert_equals
+(
+document
+.
+activeElement
+dialogbutton
+'
+<
+button
+>
+in
+<
+dialog
+>
+should
+be
+focused
+after
+opening
+.
+'
+)
+;
let
closeFired
=
@@ -442,6 +570,32 @@
'
)
;
+assert_equals
+(
+document
+.
+activeElement
+dialogbutton
+'
+<
+button
+>
+in
+<
+dialog
+>
+should
+still
+be
+focused
+immediately
+after
+removing
+open
+.
+'
+)
+;
await
new
Promise
@@ -465,6 +619,28 @@
requestAnimationFrame
)
;
+assert_equals
+(
+document
+.
+activeElement
+button
+'
+Previously
+focused
+element
+should
+be
+focused
+after
+waiting
+for
+a
+task
+.
+'
+)
+;
assert_false
(
cancelFired