<html>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();
</script>
<body id="body">
    <!-- This test ensures that a plugin that is not accessible, will not appear in the AX hierachy-->
    <object width=100 height=100>
       <param name="movie">
       <embed src="resources/test.swf" type="application/x-shockwave-flash">
    </object>    
    
    <div id="result"></div>

     
    <script>
        if (window.accessibilityController) {
            var result = document.getElementById("result");

            var body = document.getElementById("body");
            body.focus();
            result.innerText += accessibilityController.focusedElement.attributesOfChildren() + "\n\n"; 
        }
    </script>
</body>
</html>
