<!DOCTYPE html> <html class="reftest-wait"> <head> <style> input ~ label {color: red} input:not(:default):not(:checked):not([checked]) ~ label {color:red} input[checked]:checked:default ~ input:not(:checked):not([checked]):not(:default) + label {color: green} input:checked:default + label {color: green} </style> </head> <body> <form> <input type="checkbox" name="group1" id="one" value="1"/> <label for="one">Should be no red</label><br> <input type="checkbox" name="group1" id="two" value="2"/> <label for="two">Should be no red</label><br> <input type="checkbox" name="group1" id="three" value="3"/> <label for="three">Should be no red</label> </form> <script> function doTest() { document.getElementById("two").setAttribute("checked", "true"); document.getElementById("one").setAttribute("checked", "checked"); document.getElementById("two").removeAttribute("checked"); setTimeout(function () { document.documentElement.removeAttribute("class"); }, 0); } window.addEventListener("MozReftestInvalidate", doTest); </script> </body> </html>