<!DOCTYPE html> 
<html>
  <head>
    <title>ARIA 1.0 Test Case 715</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <h1>ARIA 1.0 Test Case 715</h1>
    
    <div id="TEST_ID_1">
    </div>
    
    <h2>Description</h2>
    <p>The aria-live attribute is added to an element in the document by a script 
      after the onload event completes with the value="polite" and the element has 
      a child DOM element node that contains text content. After the aria-live 
      attribute is added, the child DOM element node is deleted.</p>
    
    <script type="text/javascript">  

      function deleteChildNodes() {
        var node  = document.getElementById('TEST_ID_1');  
        while (node.firstChild) node.removeChild(node.firstChild);
      }

      function addLiveRegion() {
        var node = document.getElementById('TEST_ID_1');  
        
        node.setAttribute('aria-live', 'polite');
       
        var text_node = document.createTextNode('TEST TEXT');
        
        node.appendChild(text_node);
        
        setTimeout(deleteChildNodes,500);
      }

      function onload() {
        setTimeout(addLiveRegion,1000);
      }
     
      window.addEventListener('load', onload);
    </script>
  </body>
  
</html>
