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