tor-browser

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

moves-across-table-sections.html (3131B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>HTML Test: focusgroup - Table with one or less row per section (head, 2 bodies and foot).</title>
      4 <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
      5 <link rel="help" href="https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Focusgroup/explainer.md">
      6 <script src="/resources/testharness.js"></script>
      7 <script src="/resources/testharnessreport.js"></script>
      8 <script src="/resources/testdriver.js"></script>
      9 <script src="/resources/testdriver-vendor.js"></script>
     10 <script src="/resources/testdriver-actions.js"></script>
     11 <script src="../resources/focusgroup-utils.js"></script>
     12 
     13 <table focusgroup="grid wrap">
     14  <thead>
     15    <tr>
     16      <td id=r1c1 tabindex=0>r1c1</td>
     17    </tr>
     18    <tr>
     19      <td id=r2c1 tabindex=0>r2c1</td>
     20    </tr>
     21  </thead>
     22  <tbody>
     23    <tr>
     24      <td id=r3c1 tabindex=0>r3c1</td>
     25    </tr>
     26    <tr>
     27      <td id=r4c1 tabindex=0>r4c1</td>
     28    </tr>
     29  </tbody>
     30  <tbody></tbody>
     31  <tfoot>
     32    <tr>
     33      <td id=r5c1 tabindex=0>r5c1</td>
     34    </tr>
     35    <tr>
     36      <td id=r6c1 tabindex=0>r6c1</td>
     37    </tr>
     38  </foot>
     39 </table>
     40 
     41 <script>
     42 
     43  promise_test(async t => {
     44    var r1c1 = document.getElementById("r1c1");
     45    var r1c2 = document.getElementById("r2c1");
     46    var r3c2 = document.getElementById("r3c1");
     47    var r4c2 = document.getElementById("r4c1");
     48    var r5c2 = document.getElementById("r5c1");
     49    var r6c2 = document.getElementById("r6c1");
     50 
     51    await focusAndKeyPress(r1c1, kArrowDown);
     52    assert_equals(document.activeElement, r2c1);
     53 
     54    await focusAndKeyPress(r2c1, kArrowDown);
     55    assert_equals(document.activeElement, r3c1);
     56 
     57    await focusAndKeyPress(r3c1, kArrowDown);
     58    assert_equals(document.activeElement, r4c1);
     59 
     60    await focusAndKeyPress(r4c1, kArrowDown);
     61    assert_equals(document.activeElement, r5c1);
     62 
     63    await focusAndKeyPress(r5c1, kArrowDown);
     64    assert_equals(document.activeElement, r6c1);
     65 
     66    await focusAndKeyPress(r6c1, kArrowDown);
     67    assert_equals(document.activeElement, r1c1);
     68  }, "A down arrow press should move the focus to the next row even when that row is in another section.");
     69 
     70  promise_test(async t => {
     71    var r1c1 = document.getElementById("r1c1");
     72    var r1c2 = document.getElementById("r2c1");
     73    var r3c2 = document.getElementById("r3c1");
     74    var r4c2 = document.getElementById("r4c1");
     75    var r5c2 = document.getElementById("r5c1");
     76    var r6c2 = document.getElementById("r6c1");
     77 
     78    await focusAndKeyPress(r6c1, kArrowUp);
     79    assert_equals(document.activeElement, r5c1);
     80 
     81    await focusAndKeyPress(r5c1, kArrowUp);
     82    assert_equals(document.activeElement, r4c1);
     83 
     84    await focusAndKeyPress(r4c1, kArrowUp);
     85    assert_equals(document.activeElement, r3c1);
     86 
     87    await focusAndKeyPress(r3c1, kArrowUp);
     88    assert_equals(document.activeElement, r2c1);
     89 
     90    await focusAndKeyPress(r2c1, kArrowUp);
     91    assert_equals(document.activeElement, r1c1);
     92 
     93    await focusAndKeyPress(r1c1, kArrowUp);
     94    assert_equals(document.activeElement, r6c1);
     95  }, "An up arrow press should move the focus to the previous row even when that row is in another section.");
     96 
     97 </script>