tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>