<head>
<script>
    if (window.layoutTestController)
        layoutTestController.dumpAsText();
</script>

<style>
    #input {
        color:purple;
    }
    
    #input:enabled {
        color:red;
    }
    
    #input:disabled {
        color:green;
    }
</style>
</head>

<body>    
    <div id="result"></div>
    <input id="input" type="hidden"></input>
    
    <script>
        var input = document.getElementById("input");
        var result = document.getElementById("result");
        if (document.defaultView.getComputedStyle(input, null).color == "rgb(255, 0, 0)")
            // :enabled
            result.innerHTML = "FAILED!";
        else if (document.defaultView.getComputedStyle(input, null).color == "rgb(0, 255, 0)")
            // :disabled
            result.innerHTML = "FAILED!";
        else
            result.innerHTML = "PASSED! Hidden input types should not respond to :enabled or :disabled";
    </script>
</body>
