| <!DOCTYPE HTML> |
| <html> |
| <body> |
| <script src="../../resources/js-test-pre.js"></script> |
| |
| <div> |
| <a id="link1" href="#">Link</a> |
| <button id="button1">Button</button> |
| <input id="text1" type="text"> |
| <input id="checkbox1" type="checkbox"> |
| <input id="radio1" type="radio"> |
| <input id="slider1" type="range"> |
| <input id="submit1" type="submit"> |
| <select id="combobox1"><option>1<option>2</select> |
| <select id="listbox1" multiple><option>1<option>2</select> |
| <textarea id="textarea1"></textarea> |
| <div id="focusable1" tabindex="0">Focusable</div> |
| </div> |
| |
| <canvas id="myCanvas" width="300" height="300"> |
| <a id="link2" href="#">Link</a> |
| <button id="button2">Button</button> |
| <input id="text2" type="text"> |
| <input id="checkbox2" type="checkbox"> |
| <input id="radio2" type="radio"> |
| <input id="slider2" type="range"> |
| <input id="submit2" type="submit"> |
| <select id="combobox2"><option>1<option>2</select> |
| <select id="listbox2" multiple><option>1<option>2</select> |
| <textarea id="textarea2"></textarea> |
| <div id="focusable2" tabindex="0">Focusable</div> |
| </canvas> |
| |
| <canvas hidden id="hiddenCanvas" width="300" height="300"> |
| <a id="linkInHiddenCanvas" href="#">Link</a> |
| </canvas> |
| |
| <div id="console"></div> |
| <script> |
| description("This test makes sure that focusable elements in canvas fallback content are focusable."); |
| |
| if (window.testRunner) |
| window.testRunner.dumpAsText(); |
| |
| var element; |
| function checkFocusable(id) { |
| debug(id + " should be focusable."); |
| element = document.getElementById(id); |
| element.focus(); |
| shouldBe("document.activeElement == element", "true"); |
| debug(""); |
| } |
| |
| checkFocusable("link1"); |
| checkFocusable("button1"); |
| checkFocusable("text1"); |
| checkFocusable("checkbox1"); |
| checkFocusable("radio1"); |
| checkFocusable("slider1"); |
| checkFocusable("submit1"); |
| checkFocusable("combobox1"); |
| checkFocusable("listbox1"); |
| checkFocusable("textarea1"); |
| checkFocusable("focusable1"); |
| |
| checkFocusable("link2"); |
| checkFocusable("button2"); |
| checkFocusable("text2"); |
| checkFocusable("checkbox2"); |
| checkFocusable("radio2"); |
| checkFocusable("slider2"); |
| checkFocusable("submit2"); |
| checkFocusable("combobox2"); |
| checkFocusable("listbox2"); |
| checkFocusable("textarea2"); |
| checkFocusable("focusable2"); |
| |
| var previousFocusedElement; |
| function checkNotFocusable(id) { |
| debug(id + " should not be focusable."); |
| previousFocusedElement = document.activeElement; |
| element = document.getElementById(id); |
| element.focus(); |
| shouldBe("document.activeElement == previousFocusedElement", "true"); |
| debug(""); |
| } |
| |
| checkNotFocusable("linkInHiddenCanvas"); |
| |
| </script> |
| |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |