diff --git a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp index 3b498108405..3b2ba909780 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp @@ -85,7 +85,12 @@ void HTMLInputElement::set_checked(bool checked, ChangeSource change_source) m_dirty_checkedness = true; m_checked = checked; - set_needs_style_update(true); + + // This element's :checked pseudo-class could be used in a sibling's sibling-selector, + // so we need to invalidate the style of all siblings. + parent()->for_each_child([&](auto& child) { + child.invalidate_style(); + }); } void HTMLInputElement::set_checked_binding(bool checked)