accessible/tests/mochitest/tree/test_aria_globals.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4   <title>Test Global ARIA States and Accessible Creation</title>
     5   <link rel="stylesheet" type="text/css"
     6         href="chrome://mochikit/content/tests/SimpleTest/test.css" />
     8   <script type="application/javascript"
     9           src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
    11   <script type="application/javascript"
    12           src="../common.js"></script>
    13   <script type="application/javascript"
    14           src="../role.js"></script>
    16   <script type="application/javascript">
    17     function doTest()
    18     {
    19       var globalIds = [
    20         "atomic",
    21         "busy",
    22         "controls",
    23         "describedby",
    24         "disabled",
    25         "dropeffect",
    26         "flowto",
    27         "grabbed",
    28         "haspopup",
    29         "hidden",
    30         "invalid",
    31         "label",
    32         "labelledby",
    33         "live",
    34         "owns",
    35         "relevant"
    36       ];
    38       // Elements having ARIA global state or properties or referred by another
    39       // element must be accessible.
    40       ok(isAccessible("pawn"),
    41          "Must be accessible because referred by another element.");
    43       for (var idx = 0; idx < globalIds.length; idx++) {
    44         ok(isAccessible(globalIds[idx]),
    45            "Must be accessible becuase of " + "aria-" + globalIds[idx] +
    46            " presence");
    47       }
    49       // Unfocusable elements, having ARIA global state or property with a valid
    50       // IDREF value, and an inherited presentation role. A generic accessible
    51       // is created (to prevent table cells text jamming).
    52       ok(!isAccessible("td_nothing", nsIAccessibleTableCell),
    53          "inherited presentation role takes a place");
    55       for (var idx = 0; idx < globalIds.length; idx++) {
    56         ok(isAccessible("td_" + globalIds[idx]),
    57            "Inherited presentation role must be ignored becuase of " +
    58            "aria-" + globalIds[idx] + " presence");
    59       }
    61       SimpleTest.finish();
    62     }
    64     SimpleTest.waitForExplicitFinish();
    65     addA11yLoadEvent(doTest);
    66   </script>
    67 </head>
    68 <body>
    70   <a target="_blank"
    71      title="Update universal ARIA attribute support to latest spec"
    72      href="https://bugzilla.mozilla.org/show_bug.cgi?id=551978">
    73     Mozilla Bug 551978
    74   </a>
    75   <a target="_blank"
    76      title="Presentational table related elements referred or having global ARIA attributes must be accessible"
    77      href="https://bugzilla.mozilla.org/show_bug.cgi?id=809751">
    78     Mozilla Bug 809751
    79   </a>
    80   <p id="display"></p>
    81   <div id="content" style="display: none"></div>
    82   <pre id="test">
    83   </pre>
    85   <!-- Test that global aria states and properties are enough to cause the
    86   creation of accessible objects -->
    87   <div id="global_aria_states_and_props" role="group">
    88     <span id="pawn"></span>
    89     <span id="atomic" aria-atomic="true"></span>
    90     <span id="busy" aria-busy="false"></span>
    91     <span id="controls" aria-controls="pawn"></span>
    92     <span id="describedby" aria-describedby="pawn"></span>
    93     <span id="disabled" aria-disabled="true"></span>
    94     <span id="dropeffect" aria-dropeffect="move"></span>
    95     <span id="flowto" aria-flowto="pawn"></span>
    96     <span id="grabbed" aria-grabbed="false"></span>
    97     <span id="haspopup" aria-haspopup="false"></span>
    98     <span id="hidden" aria-hidden="true"></span>
    99     <span id="invalid" aria-invalid="false"></span>
   100     <span id="label" aria-label="hi"></span>
   101     <span id="labelledby" aria-labelledby="label"></span>
   102     <span id="live" aria-live="polite"></span>
   103     <span id="owns" aria-owns="pawn"></span>
   104     <span id="relevant" aria-relevant="additions"></span>
   105   </div>
   107   <table role="presentation">
   108     <tr>
   109       <td id="td_nothing"></td>
   110       <td id="td_atomic" aria-atomic="true"></td>
   111       <td id="td_busy" aria-busy="false"></td>
   112       <td id="td_controls" aria-controls="pawn"></td>
   113       <td id="td_describedby" aria-describedby="pawn"></td>
   114       <td id="td_disabled" aria-disabled="true"></td>
   115       <td id="td_dropeffect" aria-dropeffect="move"></td>
   116       <td id="td_flowto" aria-flowto="pawn"></td>
   117       <td id="td_grabbed" aria-grabbed="false"></td>
   118       <td id="td_haspopup" aria-haspopup="false"></td>
   119       <td id="td_hidden" aria-hidden="true"></td>
   120       <td id="td_invalid" aria-invalid="false"></td>
   121       <td id="td_label" aria-label="hi"></td>
   122       <td id="td_labelledby" aria-labelledby="label"></td>
   123       <td id="td_live" aria-live="polite"></td>
   124       <td id="td_owns" aria-owns="pawn"></td>
   125       <td id="td_relevant" aria-relevant="additions"></td>
   126     </tr>
   127   </table>
   128 </body>
   129 </html>

mercurial