diff --git a/css/selectors/media/sound-state.html b/css/selectors/media/sound-state.html index e41e4ace2be507..fd0e8f53a4318e 100644 --- a/css/selectors/media/sound-state.html +++ b/css/selectors/media/sound-state.html @@ -43,5 +43,30 @@ assert_equals(document.querySelector("video:muted"), video); assert_equals(document.querySelector("video:not(:muted)"), null); }, "Test :muted pseudo-class"); + + test((t) => { + assert_implements(CSS.supports("selector(:muted)"), ":muted is not supported"); + + const video = document.createElement("video"); + document.body.appendChild(video); + t.add_cleanup(() => video.remove()); + + assert_false(video.muted); + assert_false(video.matches(":muted")); + + video.setAttribute("muted", ""); + assert_true(video.muted); + assert_true(video.matches(":muted")); + + video.removeAttribute("muted"); + assert_false(video.muted); + assert_false(video.matches(":muted")); + + video.setAttribute("muted", ""); + assert_true(video.muted); + video.muted = false; + assert_false(video.muted); + assert_false(video.matches(":muted")); + }, "Test :muted matches .muted for content attribute default"); diff --git a/html/semantics/embedded-content/media-elements/user-interface/muted.html b/html/semantics/embedded-content/media-elements/user-interface/muted.html index eb6d2ac688d392..0bdc425750bc89 100644 --- a/html/semantics/embedded-content/media-elements/user-interface/muted.html +++ b/html/semantics/embedded-content/media-elements/user-interface/muted.html @@ -21,8 +21,8 @@ } - +