
<!DOCTYPE html>
<html>
<body id="body">
<script src="../../resources/js-test-pre.js"></script>
<div id="content">
<button id="button">test</button>

<iframe id="iframe" onload="startTest();" width="200" height="200" src="data:text/html,<body><button id='frame-button'>Click me</button><a href='%23' id='frame-link'>a</a></body>"></iframe>

</div>

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

<script>

    description("This tests that unobscured content rect is exposed to accessibility.");

    if (window.accessibilityController) {
        window.jsTestIsAsync = true;
        var button = accessibilityController.accessibleElementById("button");
        shouldBe("button.stringAttributeValue('AXVisibleContentRect')", "'{0.00, 0.00, 800.00, 600.00}'");

        var frameButton;
        function startTest() {
        	var iframe = document.getElementById("iframe");
        	frameButton = iframe.contentWindow.accessibilityController.accessibleElementById("frame-button");
            shouldBe("frameButton.stringAttributeValue('AXVisibleContentRect')", "'{62.00, 10.00, 200.00, 200.00}'");
        	finishJSTest();
        }
    }
</script>

<script src="../../resources/js-test-post.js"></script>
</body>
</html>

