<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../resources/js-test.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>

</body>
</html>
