test_recreation.html (2974B)
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <title>Test accessible recreation</title> 6 7 <link rel="stylesheet" type="text/css" 8 href="chrome://mochikit/content/tests/SimpleTest/test.css" /> 9 10 <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 11 12 <script type="application/javascript" 13 src="../common.js"></script> 14 <script type="application/javascript" 15 src="../role.js"></script> 16 <script type="application/javascript" 17 src="../promisified-events.js"></script> 18 19 <script type="application/javascript"> 20 21 async function doTest() { 22 let events, msg; 23 24 msg = "Assign a 'button' role to a span"; 25 events = waitForOrderedEvents( 26 [[EVENT_HIDE], [EVENT_SHOW, "span"], [EVENT_REORDER, "container"]], msg); 27 document.getElementById("span").setAttribute("role", "button"); 28 await events; 29 30 msg = "Remove the 'button' role from a span"; 31 events = waitForOrderedEvents( 32 [[EVENT_HIDE, "span"], [EVENT_SHOW], [EVENT_REORDER, "container"]], msg); 33 document.getElementById("span").removeAttribute("role"); 34 await events; 35 36 msg = "Assign a 'button' role to a div"; 37 events = waitForOrderedEvents( 38 [[EVENT_HIDE, "div1"], [EVENT_SHOW, "div1"], [EVENT_REORDER, "container"]], msg); 39 document.getElementById("div1").setAttribute("role", "button"); 40 await events; 41 42 msg = "Change a password field to a text field"; 43 events = waitForOrderedEvents( 44 [[EVENT_HIDE, "password"], [EVENT_SHOW, "password"], [EVENT_REORDER, "container"]], msg); 45 document.getElementById("password").setAttribute("type", "text"); 46 await events; 47 48 msg = "Change a text field to a password field"; 49 events = waitForOrderedEvents( 50 [[EVENT_HIDE, "text"], [EVENT_SHOW, "text"], [EVENT_REORDER, "container"]], msg); 51 document.getElementById("text").setAttribute("type", "password"); 52 await events; 53 54 msg = "Add aria-label to a span"; 55 ok(!isAccessible("span2"), "span2 has no accessible"); 56 events = waitForOrderedEvents( 57 [[EVENT_SHOW, "span2"], [EVENT_REORDER, "container"]], msg); 58 document.getElementById("span2").setAttribute("aria-label", "label"); 59 await events; 60 61 SimpleTest.finish(); 62 } 63 64 SimpleTest.waitForExplicitFinish(); 65 addA11yLoadEvent(doTest); 66 </script> 67 </head> 68 <body> 69 70 <a target="_blank" 71 title="Rework accessible tree update code" 72 href="https://bugzilla.mozilla.org/show_bug.cgi?id=570275"> 73 Mozilla Bug 570275 74 </a> 75 76 <p id="display"></p> 77 <div id="content" style="display: none"></div> 78 <pre id="test"> 79 </pre> 80 81 <div id="container"> 82 <span id="span">span</span> 83 <div id="div1">div</div> 84 <a id="anchor">anchor</a> 85 <div id="div3" role="listbox">list</div> 86 <input type="password" id="password"/> 87 <input type="text" id="text"/> 88 <span id="span2"></span> 89 </div> 90 91 <div id="eventdump"></div> 92 </body> 93 </html>