Check if :valid/:invalid CSS pseudo selectors are lively applied for forms On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Removing and adding required text inputs and modifying their value by a DOM tree mutation: PASS backgroundOf(form1) is invalidColor PASS backgroundOf(sub1) is subInvalidColor PASS form1.removeChild(input1); backgroundOf(form1) is validColor PASS backgroundOf(sub1) is subValidColor PASS form1.appendChild(input1); backgroundOf(form1) is invalidColor PASS backgroundOf(sub1) is subInvalidColor PASS input1.setAttribute("value", "a"); backgroundOf(form1) is validColor PASS backgroundOf(sub1) is subValidColor PASS input2.setAttribute("value", ""); backgroundOf(form1) is invalidColor PASS backgroundOf(sub1) is subInvalidColor Disabling and marking inputs readonly by a DOM tree mutation: PASS backgroundOf(form1) is invalidColor PASS backgroundOf(sub1) is subInvalidColor PASS input1.disabled=1; backgroundOf(form1) is validColor PASS backgroundOf(sub1) is subValidColor PASS input1.disabled=0; backgroundOf(form1) is invalidColor PASS backgroundOf(sub1) is subInvalidColor PASS input1.setAttribute("readonly", "1"); backgroundOf(form1) is validColor PASS backgroundOf(sub1) is subValidColor Move element under datalist by a DOM tree mutation: PASS backgroundOf(form1) is invalidColor PASS parent.removeChild(input1); backgroundOf(form1) is validColor PASS dl1.appendChild(input1); backgroundOf(form1) is validColor PASS parent.appendChild(input1); backgroundOf(form1) is invalidColor Adding a required text input that is not a direct child of the form: PASS backgroundOf(form1) is validColor PASS div1.appendChild(input1); backgroundOf(form1) is invalidColor Render multiple forms and reassign an invalid input from one to another: PASS backgroundOf($("form1")) is invalidColor PASS backgroundOf($("form2")) is validColor PASS backgroundOf($("form3")) is validColor PASS backgroundOf($("form1")) is validColor PASS backgroundOf($("form3")) is invalidColor Ensure that invalid event was not triggered on style evaluation: PASS backgroundOf(form1) is invalidColor PASS val is "0" PASS form1.checkValidity(); val is "1" PASS successfullyParsed is true TEST COMPLETE