test_takeFocus.html (3281B)
1 <html> 2 3 <head> 4 <title>nsIAccessible::takeFocus 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 11 <script type="application/javascript" 12 src="../common.js"></script> 13 <script type="application/javascript" 14 src="../role.js"></script> 15 <script type="application/javascript" 16 src="../states.js"></script> 17 <script type="application/javascript" 18 src="../events.js"></script> 19 20 <script type="application/javascript"> 21 // ////////////////////////////////////////////////////////////////////////// 22 // Invokers 23 24 function takeFocusInvoker(aID) { 25 this.accessible = getAccessible(aID); 26 27 this.eventSeq = [ new focusChecker(this.accessible) ]; 28 29 this.invoke = function takeFocusInvoker_invoke() { 30 this.accessible.takeFocus(); 31 }; 32 33 this.getID = function takeFocusInvoker_getID() { 34 return "takeFocus for " + prettyName(aID); 35 }; 36 } 37 38 // ////////////////////////////////////////////////////////////////////////// 39 // Test 40 41 // gA11yEventDumpToConsole = true; // debug stuff 42 43 var gQueue = null; 44 function doTest() { 45 disableLogging(); // from test_focusedChild 46 gQueue = new eventQueue(); 47 48 gQueue.push(new takeFocusInvoker("aria-link")); 49 gQueue.push(new takeFocusInvoker("aria-link2")); 50 gQueue.push(new takeFocusInvoker("link")); 51 gQueue.push(new takeFocusInvoker(document)); 52 gQueue.push(new takeFocusInvoker("lb_item2")); 53 gQueue.push(new takeFocusInvoker(document)); 54 gQueue.push(new takeFocusInvoker("lb_item3.2")); 55 gQueue.push(new takeFocusInvoker(document)); 56 gQueue.push(new takeFocusInvoker("lb_item3.1")); 57 58 gQueue.invoke(); // Will call SimpleTest.finish(); 59 } 60 61 SimpleTest.waitForExplicitFinish(); 62 addA11yLoadEvent(doTest); 63 </script> 64 </head> 65 66 <body> 67 68 <a target="_blank" 69 href="https://bugzilla.mozilla.org/show_bug.cgi?id=429547" 70 title="Support aria-activedescendant usage in nsIAccesible::TakeFocus()"> 71 Mozilla Bug 429547 72 </a> 73 <a target="_blank" 74 href="https://bugzilla.mozilla.org/show_bug.cgi?id=452710" 75 title="nsIAccessible::takeFocus testing"> 76 Mozilla Bug 452710 77 </a> 78 <a target="_blank" 79 href="https://bugzilla.mozilla.org/show_bug.cgi?id=706067" 80 title="Make takeFocus work on widget items"> 81 Mozilla Bug 706067 82 </a> 83 <p id="display"></p> 84 <div id="content" style="display: none"></div> 85 <pre id="test"> 86 </pre> 87 88 <span id="aria-link" role="link" tabindex="0">link</span> 89 <span id="aria-link2" role="link" tabindex="0">link</span> 90 91 <a id="link" href="">link</a> 92 93 <div role="listbox" aria-activedescendant="item1" id="container" tabindex="1"> 94 <div role="option" id="item1">item1</div> 95 <div role="option" id="item2">item2</div> 96 <div role="option" id="item3">item3</div> 97 </div> 98 99 <select id="listbox" size="5"> 100 <option id="lb_item1">item1</option> 101 <option id="lb_item2">item2</option> 102 <optgroup> 103 <option id="lb_item3.1">item 3.1</option> 104 <option id="lb_item3.2">item 3.2</option> 105 </optgroup> 106 </select> 107 </body> 108 </html>