<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>