Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / events / click-focus-anchor.html
blobe4384cd87335f241f95f5f13f0745986de94271f
1 <!DOCTYPE html>
2 <html>
3 <body>
4 <script src="../../resources/js-test.js"></script>
6 <div id=test-container>
7 <p><a id=a1 tabindex=0>Anchor with tab index</a>
8 <p><a id=a2>Anchor without tab index</a>
9 <p><a id=a3 href="#">Link without tab index</a>
10 <p><a id=a4 href="#" tabindex=0>Link with tab index</a>
11 <p><a id=a5 href="#" contentEditable>Link with contentEditable</a>
12 <p contenteditable id="p6"><a id=a6 href="#" title="not focusable">Link inside contentEditable</a>
13 <p tabindex="1" id="p7"><a id="a7" href="#">Link inside an elment with tabindex</a>
15 <p><svg width="500" height="30"><a id="svga1" tabindex="0"><text font-size="18px" y="20">SVG anchor with tab index</text></a></svg></p>
16 <p><svg width="500" height="30"><a id="svga2"><text font-size="18px" y="20">SVG anchor without tab index</text></a></svg></p>
17 <p><svg width="500" height="30"><a id="svga3" xlink:href="#"><text font-size="18px" y="20">SVG link without tabindex</text></a></svg></p>
18 <p><svg width="500" height="30"><a id="svga4" xlink:href="#" tabindex="0"><text font-size="18px" y="20">SVG link with tabindex</text></a></svg></p>
19 <p contentEditable id="psvg5"><svg width="500" height="30"><a id="svga5" xlink:href="#"><text font-size="18px" y="20">SVG link inside contentEditable</text></a></svg></p>
20 <p tabindex="1" id="psvg6"><svg width="500" height="30"><a id="svga6" xlink:href="#"><text font-size="18px" y="20">SVG link inside an element with tabindex</text></a></svg></p>
21 </div>
23 <div id="console"></div>
25 <script>
26 description('This test ensures that we can click to focus an a element.');
28 function handleFocus(e) {
29 var el = e.target;
30 debug(el.id + ' received focus');
33 document.addEventListener('focus', handleFocus, true);
34 if (window.testRunner) {
35 var testAnchors = document.querySelectorAll('p > a, svg > a > text');
36 for (var i = 0; i < testAnchors.length; i++) {
37 var aElement = testAnchors[i];
38 eventSender.mouseMoveTo(aElement.offsetLeft + 2, aElement.offsetTop + 2);
39 eventSender.mouseDown();
40 eventSender.mouseUp();
43 var tc = document.getElementById('test-container');
44 tc.parentNode.removeChild(tc);
45 } else {
46 debug('Need testRunner.');
49 </script>
50 </body>
51 </html>