test_focus_doc.html (3069B)
1 <html> 2 3 <head> 4 <title>Accessible document focus event testing</title> 5 6 <link rel="stylesheet" type="text/css" 7 href="chrome://mochikit/content/tests/SimpleTest/test.css" /> 8 9 <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 10 <script src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> 11 12 <script type="application/javascript" 13 src="../common.js"></script> 14 <script type="application/javascript" 15 src="../events.js"></script> 16 <script type="application/javascript" 17 src="../role.js"></script> 18 <script type="application/javascript" 19 src="../states.js"></script> 20 21 <script type="application/javascript"> 22 var gQueue = null; 23 24 // var gA11yEventDumpID = "eventdump"; 25 // gA11yEventDumpToConsole = true; 26 27 function doTests() { 28 // setup 29 var frameDoc = document.getElementById("iframe").contentDocument; 30 frameDoc.designMode = "on"; 31 var frameDocAcc = getAccessible(frameDoc, [nsIAccessibleDocument]); 32 var buttonAcc = getAccessible("b1"); 33 34 var frame2Doc = document.getElementById("iframe2").contentDocument; 35 var frame2Input = frame2Doc.getElementById("input"); 36 var frame2InputAcc = getAccessible(frame2Input); 37 38 // Test focus events. 39 gQueue = new eventQueue(); 40 41 // try to give focus to contentEditable frame twice to cover bug 512059 42 gQueue.push(new synthFocus(buttonAcc)); 43 gQueue.push(new synthTab(frameDocAcc, new focusChecker(frameDocAcc))); 44 gQueue.push(new synthFocus(buttonAcc)); 45 gQueue.push(new synthTab(frameDocAcc, new focusChecker(frameDocAcc))); 46 47 // focus on not editable document 48 gQueue.push(new synthFocus(frame2InputAcc)); 49 // Skips the root element, so the focus got moved to buttonAcc2. 50 var buttonAcc2 = getAccessible("b2"); 51 gQueue.push(new synthShiftTab(buttonAcc2, new focusChecker(buttonAcc2))); 52 53 gQueue.invoke(); // Will call SimpleTest.finish(); 54 } 55 56 SimpleTest.waitForExplicitFinish(); 57 addA11yLoadEvent(doTests); 58 </script> 59 </head> 60 61 <body> 62 63 <a target="_blank" 64 href="https://bugzilla.mozilla.org/show_bug.cgi?id=512058" 65 title="Can't set focus to designMode document via accessibility APIs"> 66 Mozilla Bug 512058 67 </a> 68 <a target="_blank" 69 href="https://bugzilla.mozilla.org/show_bug.cgi?id=512059" 70 title="Accessibility focus event never fired for designMode document after the first focus"> 71 Mozilla Bug 512059 72 </a> 73 <a target="_blank" 74 href="https://bugzilla.mozilla.org/show_bug.cgi?id=618046" 75 title="No focus change event when Shift+Tab at top of screen"> 76 Mozilla Bug 618046 77 </a> 78 79 <p id="display"></p> 80 <div id="content" style="display: none"></div> 81 <pre id="test"> 82 </pre> 83 84 <div id="eventdump"></div> 85 86 <div id="testContainer"> 87 <button id="b1">a button</button> 88 <iframe id="iframe" src="about:blank"></iframe> 89 <button id="b2">a button</button> 90 <iframe id="iframe2" src="data:text/html,<html><input id='input'></html>"></iframe> 91 </div> 92 </body> 93 </html>