<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body id="body">
<div>
  <ul><li>one</li><li>two</li></ul>
</div>
<div title="Include Me">
  <ul><li>one</li><li>two</li></ul>
</div>
<p id="description"></p>
<div id="console"></div>
<script>
    description("This tests the inclusion of objects with a title attribute.");
    if (window.accessibilityController) {
        testRunner.dumpAsText();
        document.getElementById("body").focus();
        var webArea = accessibilityController.focusedElement;

        var child = webArea.childAtIndex(0);
        shouldBe("child.role", "'AXRole: AXList'");

        child = webArea.childAtIndex(1);
        shouldBe("child.role", "'AXRole: AXSection'");

        child = child.childAtIndex(0);
        shouldBe("child.role", "'AXRole: AXList'");
    }
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
