<html>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();
</script>
<body id="body">
    
    <!-- this table should not appear as an AXTable because it only has one cell -->

    <table width="90" border="0" bgcolor="a1a5a9">
    <tr>
    <td>
    <P><strong>Pick Your Location!</strong><br>Get specific content for your area. <br><a href="http://web.apple.com">http://web.apple.com</a><br>
    </font>
    </td>
    </tr>
    </table>
    
    <div id="result"></div>
    
    <script>
        if (window.accessibilityController) {
            var result = document.getElementById("result");

            var body = document.getElementById("body");
            body.focus();
            var table = accessibilityController.focusedElement.childAtIndex(0);

            result.innerText += table.allAttributes();
        }
    </script>
</body>
</html>
