summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/spatial-navigation/snav-overlapping-elements.html
blob: f5679a8825e93281a111665c9feba535024a8529 (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
78
79
80
81
82
83
84
85
86
87
<!DOCTYPE html>
<head>
<script src="../../resources/js-test.js"></script>
<script src="resources/spatial-navigation-utils.js"></script>
</head>
<style>
body a {
    position: absolute;
    height: 100px;
    width: 100px;
    border: 1px solid black;
}
#e1 {
    left: 10px;
    top: 10px;
}
#e2 {
    left: 20px;
    top: 75px;
}
#e3 {
    left: 10px;
    top: 150px;
}
#e4 {
    left: 10px;
    top: 300px;
}
#e5 {
    left: 75px;
    top: 300px;
}
#e6 {
    left: 150px;
    top: 300px;
}
</style>
<body id="some-content" onload="runTest()">
<p id="description"></p>
<div id="elements">
<!-- Vertical: -->
<a id="e1" href="#e1">Element 1</a>
<a id="e2" href="#e2">Element 2</a>
<a id="e3" href="#e3">Element 3</a>
<!-- Horizontal: -->
<a id="e4" href="#e1">Element 4</a>
<a id="e5" href="#e2">Element 5</a>
<a id="e6" href="#e3">Element 6</a>
</div>
<div id="console"></div>
<script type="application/javascript">
description('This test ensures that Spatial Navigation works with overlapping elements');

jsTestIsAsync = true;

var resultMap = [
    // Vertical:
    ["Down", "e2"],
    ["Down", "e3"],
    ["Up", "e2"],
    ["Up", "e1"],
    ["Down", "e2"],
    ["Down", "e3"],
    ["Down", "e4"],
    // Horizontal:
    ["Right", "e5"],
    ["Right", "e6"],
    ["Left", "e5"],
    ["Left", "e4"],
    ["DONE", "DONE"]
];

if (window.testRunner) {
    testRunner.overridePreference("WebKitTabToLinksPreferenceKey", 1);
    window.internals.settings.setSpatialNavigationEnabled(true);
}

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

    initTest(resultMap, finishJSTest);
}
</script>
</body>
</html>