<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<link rel="stylesheet" href="../fast/js/resources/js-test-style.css">
<script>
var successfullyParsed = false;
</script>
<script src="../fast/js/resources/js-test-pre.js"></script>
</head>
<body id="body">

<div role="img" aria-label="ASCII art of a helicopter" title="Incorrect text equivalent. When available, node should use aria-label instead of title.">
     <div class="ascii">
  ========================
          ___][_____
 *     __/     [___]\
***====___           \
 *        \___________]
            I      I
          ------------/
</div>
</div>

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

<script>

    description("This tests that a non native image (one created through ARIA) does not cause an assert. Test passes if it does not crash in debug builds");

    if (window.accessibilityController) {

          var body = document.getElementById("body");
          body.focus();
          var image = accessibilityController.focusedElement.childAtIndex(0);
          var w = image.width;
          var h = image.height;
          
    }

    successfullyParsed = true;
</script>

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