tor-browser

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

test_general.html (4884B)


      1 <html>
      2 
      3 <head>
      4  <title>nsIAccessible value testing</title>
      5 
      6  <link rel="stylesheet" type="text/css"
      7        href="chrome://mochikit/content/tests/SimpleTest/test.css" />
      8 
      9  <style type="text/css">
     10    .offscreen {
     11      position: absolute;
     12      left: -5000px;
     13      top: -5000px;
     14      height: 100px;
     15      width: 100px;
     16    }
     17  </style>
     18 
     19  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
     20 
     21  <script type="application/javascript"
     22          src="../common.js"></script>
     23 
     24  <script src="chrome://mochikit/content/chrome-harness.js"></script>
     25 
     26  <script type="application/javascript">
     27    function doTest() {
     28      function testValue(aID, aValue) {
     29        var acc = getAccessible(aID);
     30        if (!acc)
     31          return;
     32        is(acc.value, aValue, "Wrong value for " + aID + "!");
     33      }
     34 
     35      var href = getRootDirectory(window.location.href) + "foo";
     36 
     37      // roles that can't live as HTMLLinkAccessibles
     38      testValue("aria_menuitem_link", "");
     39      testValue("aria_button_link", "");
     40      testValue("aria_checkbox_link", "");
     41      testValue("aria_application_link", "");
     42      testValue("aria_main_link", "");
     43      testValue("aria_navigation_link", "");
     44 
     45      // roles that can live as HTMLLinkAccessibles
     46      testValue("aria_link_link", href);
     47 
     48      // ////////////////////////////////////////////////////////////////////////
     49      // ARIA textboxes
     50 
     51      testValue("aria_textbox1", "helo");
     52      // Textbox containing list.
     53      testValue("aria_textbox2", "1. test");
     54 
     55      // ////////////////////////////////////////////////////////////////////////
     56      // ARIA comboboxes
     57 
     58      // aria-activedescendant defines a current item the value is computed from
     59      testValue("aria_combobox1", kDiscBulletText + "Zoom");
     60 
     61      // aria-selected defines a selected item the value is computed from,
     62      // list control is pointed by aria-owns relation.
     63      testValue("aria_combobox2", kDiscBulletText + "Zoom");
     64 
     65      // aria-selected defines a selected item the value is computed from,
     66      // list control is a child of combobox.
     67      testValue("aria_combobox3", kDiscBulletText + "2");
     68 
     69      // ////////////////////////////////////////////////////////////////////////
     70      // HTML controls
     71      testValue("combobox1", "item1");
     72      testValue("combobox2", "item2");
     73 
     74      SimpleTest.finish();
     75    }
     76 
     77    SimpleTest.waitForExplicitFinish();
     78    addA11yLoadEvent(doTest);
     79  </script>
     80 
     81 </head>
     82 
     83 <body>
     84 
     85  <a target="_blank"
     86     href="https://bugzilla.mozilla.org/show_bug.cgi?id=494807"
     87     title="Do not expose a11y info specific to hyperlinks when role is overridden using ARIA">
     88    Bug 494807
     89  </a>
     90  <a target="_blank"
     91     href="https://bugzilla.mozilla.org/show_bug.cgi?id=819273"
     92     title="ARIA combobox should have accessible value">
     93    Bug 819273
     94  </a>
     95  <a target="_blank"
     96     href="https://bugzilla.mozilla.org/show_bug.cgi?id=887250"
     97     title="ARIA textbox role doesn't expose value">
     98    Bug 887250
     99  </a>
    100  <p id="display"></p>
    101  <div id="content" style="display: none">
    102  </div>
    103  <pre id="test">
    104  </pre>
    105 
    106  <a id="aria_menuitem_link" role="menuitem" href="foo">menuitem</a>
    107  <a id="aria_button_link" role="button" href="foo">button</a>
    108  <a id="aria_checkbox_link" role="checkbox" href="foo">checkbox</a>
    109 
    110  <!-- landmark links -->
    111  <a id="aria_application_link" role="application" href="foo">app</a>
    112  <a id="aria_main_link" role="main" href="foo">main</a>
    113  <a id="aria_navigation_link" role="navigation" href="foo">nav</a>
    114 
    115  <!-- strange edge case: please don't do this in the wild -->
    116  <a id="aria_link_link" role="link" href="foo">link</a>
    117 
    118  <div id="aria_textbox1" role="textbox">helo</div>
    119  <div id="aria_textbox2" contenteditable role="textbox">
    120    <ol><li>test</li></ol>
    121  </div>
    122 
    123  <div id="aria_combobox1" role="combobox"
    124       aria-owns="aria_combobox1_owned_listbox"
    125       aria-activedescendant="aria_combobox1_selected_option">
    126  </div>
    127  <ul role="listbox" id="aria_combobox1_owned_listbox">
    128    <li role="option">Zebra</li>
    129    <li role="option" id="aria_combobox1_selected_option">Zoom</li>
    130  </ul>
    131 
    132  <div id="aria_combobox2" role="combobox"
    133       aria-owns="aria_combobox2_owned_listbox">
    134  </div>
    135  <ul role="listbox" id="aria_combobox2_owned_listbox">
    136    <li role="option">Zebra</li>
    137    <li role="option" aria-selected="true">Zoom</li>
    138  </ul>
    139 
    140  <div id="aria_combobox3" role="combobox">
    141    <div role="textbox"></div>
    142    <ul role="listbox">
    143      <li role="option">1</li>
    144      <li role="option" aria-selected="true">2</li>
    145      <li role="option">3</li>
    146    </ul>
    147  </div>
    148 
    149  <select id="combobox1">
    150    <option id="cb1_item1">item1</option>
    151    <option id="cb1_item2">item2</option>
    152  </select>
    153  <select id="combobox2">
    154    <option id="cb2_item1">item1</option>
    155    <option id="cb2_item2" selected="true">item2</option>
    156  </select>
    157 
    158 </body>
    159 </html>