<!DOCTYPE html> 
<html>
  <head>
    <title>ARIA 1.0 Live Region Event Test Case: Change text content</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <style>
      div#TEST_ID {
        margin: 0.5em; 
        padding: 0.25em; 
        border: medium gray solid; 
        width: 10em;
      } 
    </style>  
  </head>
  <body>
    <h1>ARIA 1.0 Live Region Event Test Case: Change text content</h1>
    
    <div id="TEST_ID" aria-live="assertive">
      TEST TEXT 1
    </div>
    
    <button onclick="tryAgain()">Try Again</button>
    
    <h2>Description</h2>
    <p>An element with an aria-live attribute with the value "assertive" has a text content changed
    1.5 seconds after the document is loaded.</p>
    
    <h2>Expected Results</h2>
    
    <dl>
      <dt>ATK/AT-SPI</dt>
      <dd>ATK/AT-SPIevent: text_changed::delete event followed by text_changed::insert event</dd>
      
      <dt>AXAPI</dt>
      <dd></dd>
      <dd>AXLiveRegionChanged notification</dd>
      
      <dt>MSAA + IAccessible2</dt>
      <dd>IAccessible2: IA2_EVENT_TEXT_REMOVED event followed by IA2_EVENT_TEXT_INSERTED event</dd>
      
      <dt>MSAA + UIA Express</dt>
      <dd>TextPattern..::.TextChangedEvent event followed by another TextPattern..::.TextChangedEvent event</dd>
      
    </dl>
    
    
    <script>  

      function tryAgain() {
        changeText('TEST TEXT 1')
        onLoad();        
      }  

      function changeText(str) {
        var node = document.getElementById('TEST_ID');  
        while (node.firstChild) node.removeChild(node.firstChild);

        if (typeof str !== 'string') str = 'changed test text 2';
        addText(str)
      }  

      function addText (str) {
        var node = document.getElementById('TEST_ID');          
        var text_node = document.createTextNode(str);        
        node.appendChild(text_node);
      }  

      function onLoad() {
        setTimeout(changeText,1500);       
      }

      window.addEventListener('load', onLoad);
    </script>
  </body>
  
</html>
