Refactoring: Pull all fullscreen code out of Document and into its own helper class
[WebKit-https.git] / LayoutTests / accessibility / svg-remote-element.html
1 <!DOCTYPE HTML>
2 <html>
3 <body>
4 <script src="../resources/js-test-pre.js"></script>
5 <script src="../resources/accessibility-helper.js"></script>
6
7 <img tabindex="0" id="svg-image" alt="interactive SVG" >
8
9 <div id="console"></div>
10 <script>
11
12 description("This test ensures that accessibility elements can be created out of what a remote SVG image defines.")
13 window.jsTestIsAsync = true;
14
15 // Return the page's relative coordinates. If we rely on the x() or y() of the accessibility object, then
16 // accessibility transforms are applied that fail because there is no window available
17 function pageX(element) {
18     return element.clickPointX - element.width/2;
19 }
20
21 function pageY(element) {
22     return element.clickPointY - element.height/2;
23 }
24
25 function runAXTest() {    
26     var container = accessibilityController.accessibleElementById("svg-image");
27
28     var x = pageX(container) - 1;
29     var y = pageY(container) - 1;
30
31     debug("container location: (" + x + ", " + y + ")");
32
33     var face = container.childAtIndex(0);
34     debug('Face role: ' + face.role);
35     debug('Face label: ' + platformValueForW3CName(face, true));
36     debug('FaceX: ' + (pageX(face) - x));
37     debug('FaceY: ' + Math.abs(pageY(face) - y));
38     debug('<br>');
39
40     var eye = container.childAtIndex(1);
41     debug('Eye role: ' + eye.role);
42     debug('Eye label: ' + platformValueForW3CName(eye, true));
43     debug('EyeX: ' + (pageX(eye) - x));
44     debug('EyeY: ' + Math.abs(pageY(eye) - y));
45     debug('<br>');
46
47     var nose = container.childAtIndex(3);
48     debug('Nose role: ' + nose.role);
49     debug('Nose label: ' + platformValueForW3CName(nose, true));
50     debug('NoseX: ' + (pageX(nose) - x));
51     debug('NoseY: ' + Math.abs(pageY(nose) - y));
52     debug('<br>');
53
54     var mouth = container.childAtIndex(4);
55     debug('Mouth role: ' + mouth.role);
56     debug('Mouth label: ' + platformValueForW3CName(mouth, true));
57     debug('MouthX: ' + (pageX(mouth) - x));
58     debug('MouthY: ' + Math.floor(Math.abs(pageY(mouth) - y)));
59     debug('<br>');
60
61     finishJSTest();
62 }
63
64 if (window.accessibilityController) {
65     document.getElementById("svg-image").addEventListener("load", runAXTest);
66 }
67 document.getElementById("svg-image").src = "resources/svg-face.svg";
68
69 </script>
70
71 <script src="../resources/js-test-post.js"></script>
72 </body>
73 </html>
74