<html>
<head>
<script src="../resources/js-test.js"></script>
<script>
    if (window.testRunner)
        testRunner.waitUntilDone();

    function runTest() {
        description("This tests that having an anonymous render block in a continuation doesn't cause a crash when walking the accessibility tree.");

        accessibilityController.accessibleElementById('dummy');

        debug('<br /><span class="pass">TEST COMPLETE</span>');
        if (window.testRunner)
            testRunner.notifyDone();
    }

    if (window.testRunner && window.accessibilityController) {
        window.addEventListener('load', function() {
            setTimeout(runTest, 10);
        }, false);
    }
</script>
</head>
<body>

<li><span>x<ul><li>y</ul></span>z</li>

End of test.

<p id="description"></p>
<div id="console"></div>

</body>
</html>
