Use descendant invalidation sets for :in-range and :out-of-range pseudo classes. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS getComputedStyle(input).backgroundColor is red PASS getComputedStyle(descendant).backgroundColor is transparent PASS internals.updateStyleAndReturnAffectedElementCount() is 2 PASS getComputedStyle(input).backgroundColor is green PASS getComputedStyle(descendant).backgroundColor is green PASS successfullyParsed is true TEST COMPLETE