<p>
    Test that specifying <tt>display: none</tt> for a <tt>legend</tt> element works.
</p>
<p id="result">
</p>
<fieldset>
    <legend id="target" style="display: none;">Legendary</legend>
</fieldset>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();

    document.body.offsetTop;
    display = getComputedStyle(document.getElementById("target")).display;
    document.getElementById("result").innerText = display === "none" ? "PASS" : ("FAIL: display was '" + display + "'.");
</script>
