<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../resources/js-test-pre.js"></script>
</head>

<body id="body">

<div role="group">test
  <div role="group"><span>test
  <div role="group"><span>test
  <div role="group"><span>test
  <div role="group"><span>test
  <div><span>test
  <div><span>test
  <div><span>test
  <div><span>test
  <div><span>test
  <div><span>test
  <div><span>test
  <div><span>test
  <div><span>test
  <div><span>test
  <div><span>test
  <div><span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
  <span>test
   <table border=1>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
     <tr><td>test</td><td>test</td><td>test</td><td>test</td></tr>
   </table>

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

<script>

    description("This tests that we will not hang when using accessibility on this page. The idea is that the element tree is deep enough to cause a hang just by accessing elements if something is implemented incorrectly.");

    if (window.accessibilityController) {

        document.getElementById("body").focus();
        var body = accessibilityController.focusedElement;
        
        // if successful, we will NOT hang after this call
        body.childAtIndex(0).childAtIndex(0);
    }

</script>

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