summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/spatial-navigation/snav-only-clipped-overflow-content.html
blob: a5dfde788a9ed459224e9adf70eb54905b294f7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<html>
  <!--
    This test ensures the content overflow traversal correctness of spatial navigation:
    if an element if clipped overflow in a scrollable container (e.g. <div>),
    scroll-in-direction should happen in the container box, not on the outer view.

    * Pre-conditions:
    1) DRT support for spatial navigation enable/disable.

    * Navigation steps:
    1) Loads this page, focus goes to "start" automatically.
    2) Try to move focus down to the visible focusable element in
       scrollable div.

    * Expected results: There should have to a scroll action in the container
    (div) as an attempt to make the clipped overflow node visible and accessible
    via spatial navigation. -->
  <head>
    <style type="text/css">
      div.scroll {
        height: 200px;
        width: 300px;
        overflow: auto;
        border: 1px solid #666;
        background-color: #ccc;
        padding: 8px;
      }
    </style>

    <script src="../js/resources/js-test-pre.js"></script>
    <script src="resources/spatial-navigation-utils.js"></script>
    <script type="application/javascript">

    var resultMap = [
      ["Down", "start"],
      ["DONE", "DONE"]
    ];

    if (window.layoutTestController) {
      layoutTestController.dumpAsText();
      layoutTestController.setSpatialNavigationEnabled(true);
      layoutTestController.overridePreference("WebKitTabToLinksPreferenceKey", 1);
      layoutTestController.waitUntilDone();
    }

    function runTest()
    {
      // starting the test itself: get to a known place.
      document.getElementById("start").focus();

      initTest(resultMap, testCompleted);
    }

    function testCompleted()
    {
      shouldBeTrue(String(document.getElementById("div").scrollTop != 0));

      if (window.layoutTestController)
        layoutTestController.notifyDone();
    }

    window.onload = runTest;

    </script>
    <script src="js/resources/js-test-post.js"></script>
  </head>
  <body id="some-content" xmlns="http://www.w3.org/1999/xhtml">
    <p>That is is a normal <a id="start" href="a">link</a>.</p>
    <div class="scroll" id="div">
      <p>This is a scrollable Div created with the CSS property overflow.</p>
      <br><br><br><br><br><br><br><br>
      <p> ... and here we have a clipped overflow <a id="1" href="a">link</a>.</p>
    </div>
    <p>And this is another normal <a id="2" href="a">link_2</a>.</p>
    <div id="console"></div>
  </body>
</html>