<!DOCTYPE html> 
<html>
  <head>
    <title>ARIA 1.0 Test Case 696</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <h1>ARIA 1.0 Test Case 696</h1>
    
    <div id="TEST_ID_1">
      <div id="TEST_ID_2" style="visibility: hidden">TEST TEXT</div>
    </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="assertive" and the element has a child DOM 
      element node with text content that is hidden using CSS visibility="hidden". After 
      the aria-live attribute is added, the child DOM element node with text content has 
      the CSS display property changed to visibility="visible".</p>
    
    <script type="text/javascript">  

      function showElement() {
        var node  = document.getElementById('TEST_ID_2');  
        node.setAttribute('style', 'visibility: visible');        
      }

      function addLiveRegion() {
        var node         = document.getElementById('TEST_ID_1');  
        node.setAttribute('aria-live', 'assertive');
        setTimeout(showElement,500);
      }

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