<html>
<head>
<title>required/optional CSS pseudoclasses</title>
<style>
 input:required { background: lime; }
 textarea:required { background: lime; }
 input { background: red; }
 textarea { background: red; }
 input:optional { background: red; }
 textarea:optional { background: red; }
</style>
<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++)
            if (document.defaultView.getComputedStyle(v[i], null).getPropertyValue('background-color') == "rgb(0, 255, 0)")
                log("SUCCESS");
            else
                log("FAILURE");
    }
</script>
</head>
<body onload="test()">
<p>All controls should have a green background.</p>
<input name="victim" required />
<textarea name="victim" required /></textarea>
<hr>
<ol id="console"></ol>
</body>
</html>
