<html> <head> <title>required and valueMissing on unaccepted input types</title> <script language="JavaScript" type="text/javascript"> function log(message) { document.getElementById("console").innerHTML += "<li>"+message+"</li>"; } function test() { if (window.testRunner) testRunner.dumpAsText(); v = document.getElementsByName("victim"); for (i = 0; i < v.length; i++) log(!v[i].validity.valueMissing ? "SUCCESS" : "FAILURE"); } </script> </head> <body onload="test()"> <p>There's a list of form control elements below, required attribute does not apply to them: validity.valueMissing should be false.</p> <input name="victim" type="hidden" required /> <input name="victim" type="range" required /> <input name="victim" type="image" required /> <input name="victim" type="reset" required /> <input name="victim" type="button" required /> <input name="victim" type="submit" required /> <hr> <ol id="console"></ol> </body> </html>