1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> 2 <html> 3 <head> 4 <script> 5 6 function removeElement() { 7 document.getElementById('div').removeChild(document.getElementById('div').children[2]); 8 } 9 10 function queryIsEnabledOnDecendants(accessibilityObject) { 11 accessibilityObject.isEnabled 12 13 var count = accessibilityObject.childrenCount; 14 for (var i = 0; i < count; ++i) 15 queryIsEnabledOnDecendants(accessibilityObject.childAtIndex(i)); 16 } 17 </script> 18 <script src="../fast/js/resources/js-test-pre.js"></script> 19 </head> 20 <body> 21 22 <div id="div"> 23 <span> 24 <div>a</div> 25 </span> 26 <div style="float:left">a</div> 27 <span title="title">b</span> 28 </div> 29 30 <p id="description"></p> 31 <div id="console"></div> 32 33 <script> 34 description("In certain cases removing a decendent from an anonymous block element does not update the parent chain correctly. This can cause a crash."); 35 36 if (window.accessibilityController) { 37 // First build up full accessibility tree. 38 document.body.focus(); 39 queryIsEnabledOnDecendants(accessibilityController.focusedElement); 40 41 removeElement() 42 43 // Now call isEnabled on each accessibility object. 44 document.body.focus(); 45 queryIsEnabledOnDecendants(accessibilityController.focusedElement); 46 } 47 48 </script> 49 50 <script src="../fast/js/resources/js-test-post.js"></script> 51 </body> 52 </html> 53