10a37f4cbe3020bcc890faa8abd570c1449636ab
[WebKit-https.git] / LayoutTests / fast / spatial-navigation / snav-container-white-space.html
1 <html>
2   <!--
3     This test ensures the correctness of a basic aspect of spatial navigation traversal
4     routines: focusable elements in scrollable containers (e.g. <div>) should be
5     accessible, including offscreen content.
6
7     * Pre-conditions:
8     1) DRT support for spatial navivation enable/disable.
9
10     * Navigation steps:
11     1) Loads this page, focus goes to "start" automatically.
12     2) Move focus down to the visible focusable element in
13        scrollable div.
14     3) Traverse the page through other focusable elements down the page.
15        and then back up.
16
17     * Expected results: All focusable element in scrollable content, including
18     offscreen ones, should be accessible via spatial navigation. -->
19   <head>
20     <style>
21     :focus {outline: 1px solid black;}
22     </style>
23     <script src="../js/resources/js-test-pre.js"></script>
24     <script src="resources/spatial-navigation-utils.js"></script>
25     <script type="application/javascript">
26
27     var resultMap = [
28       ["Down", "1"],
29       ["Down", "2"],
30       ["Down", "3"],
31       ["Down", "4"],
32       ["Down", "5"],
33       ["Up", "4"],
34       ["Up", "3"],
35       ["Up", "2"],
36       ["Up", "1"],
37       ["Up", "start"],
38       ["DONE", "DONE"]
39     ];
40
41     if (window.testRunner) {
42       testRunner.dumpAsText();
43       testRunner.setSpatialNavigationEnabled(true);
44       testRunner.overridePreference("WebKitTabToLinksPreferenceKey", 1);
45       testRunner.waitUntilDone();
46     }
47
48     function runTest()
49     {
50       // starting the test itself: get to a known place.
51       document.getElementById("start").focus();
52
53       initTest(resultMap, testCompleted);
54     }
55
56     function testCompleted()
57     {
58       if (window.testRunner)
59         testRunner.notifyDone();
60     }
61
62     window.onload = runTest;
63
64     </script>
65     <script src="js/resources/js-test-post.js"></script>
66   </head>
67   <body>
68     <a href="#" id="start">This is an element</a><br>
69
70     <div>
71       <a href="#" id="1">
72         <img src="resources/green.png" height="42" width="76"  border="0"/>
73       </a>
74     </div>
75
76     <div>
77       <a href="#" id="2">This is an element</a><br>
78     </div>
79
80     <a href="#" id="3">This is an element</a><br>
81
82     <a href="#" id="4">
83       <img src="resources/green.png" height="42" width="76" alt="llinker1" border="0"/>
84     </a><br>
85
86     <a href="#" id="5">This is an element</a><br>
87     <div id="console"></div>
88     <div>This test tests that a anchor element with in image in it and a space after the image, can still give the correct size in ContainerNode::getRect().</div>
89   </body>
90 </html>
91