<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body id="body">
<h1>Heading Level 1</h1>
<h2>Heading Level 2</h2>
<h3>Heading Level 3</h3>
<h4>Heading Level 4</h4>
<h5>Heading Level 5</h5>
<h6>Heading Level 6</h6>
<a href="foo.html">Link</a>
<table>
<tr><td>foo</td><td>bar</td></tr>
</table>
<table>
<table border=1>
<tr><th>Odd</th><th>Even</th></tr>
<tr><td><p>1</p></td><td><p>2</p></td></tr>
<tr><td><p>3</p></td><td><p>4</p></td></tr>
</table>
<del style="display:block;">foo</del>
<ins style="display:block;">bar</ins>
<time style="display:block;">baz</time>
<p id="description"></p>
<div id="console"></div>
<script>
    description("This tests the exposure of Atk object attributes.");
    if (window.accessibilityController) {
        testRunner.dumpAsText();
        document.getElementById("body").focus();
        debug(accessibilityController.focusedElement.attributesOfChildren());
    }
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
