mirror of
https://github.com/servo/servo.git
synced 2025-07-10 00:43:39 +01:00
105 lines
No EOL
4.8 KiB
HTML
105 lines
No EOL
4.8 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head>
|
|
<title>CSS Regions: onkeydown and onkeyup events inside region using Tab key in forms</title>
|
|
<link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
|
|
<link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /><!-- 07-19-2013 -->
|
|
<link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
|
|
<link href="http://www.w3.org/TR/css3-regions/#flow-from" rel="help" />
|
|
<link href="http://www.w3.org/TR/css3-regions/#relation-to-document-events" rel="help" />
|
|
<meta content="CSS regions module does not alter the normal processing of events in the document
|
|
tree. Therefore, onkeydown and onkeyup events inside a named flow should be raised when the Tab key is pressed
|
|
and released." name="assert" />
|
|
<meta content="dom interact" name="flags" />
|
|
<link href="support/css/regions-keyboard.css" type="text/css" rel="stylesheet" />
|
|
<link href="/resources/testharness.css" type="text/css" rel="stylesheet" />
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="support/js/regions-keyboard-events-test-helper.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="msg">Press the Tab key two times.</p>
|
|
<div id="content">
|
|
<div class="block"></div>
|
|
<div class="block"></div>
|
|
<div class="block" id="target-block">
|
|
<form id="my-form">
|
|
<input autofocus="" type="text" id="textfield-inside" size="10" />
|
|
<textarea rows="3" cols="10" id="textarea-inside"></textarea>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="region"></div>
|
|
<div class="region"></div>
|
|
<div class="region"></div>
|
|
<br />
|
|
<div id="outside-region">This div is outside the region
|
|
<form id="form-outside">
|
|
<input type="text" id="textfield-outside" size="10" />
|
|
<textarea rows="3" cols="10" id="textarea-outside"></textarea>
|
|
</form>
|
|
</div>
|
|
<div id="log"></div>
|
|
|
|
<script type="text/javascript">
|
|
|
|
if(getLeftPosition("target-block") !== 0) {
|
|
|
|
var test1 = async_test("onkeydown event fired in textfield inside region", {timeout: testTimeout});
|
|
test1.step(function () {
|
|
var testTarget = document.getElementById("textfield-inside");
|
|
testTarget.onkeydown = test1.step_func(function (evt) {
|
|
|
|
/* Verify the target outside the region has the correct ID */
|
|
test(function () {
|
|
assert_equals(evt.target.id, "textfield-inside");
|
|
}, "Textfield inside region has the correct ID");
|
|
|
|
/* Verify the textfield received focus from tab key */
|
|
test(function () {
|
|
assert_equals(document.activeElement.id, "textfield-inside");
|
|
}, "Textfield inside region received focus");
|
|
|
|
test1.done();
|
|
});
|
|
});
|
|
|
|
var test2 = async_test("onkeyup event fired in textarea inside region", {timeout: testTimeout});
|
|
test2.step(function () {
|
|
var testTarget = document.getElementById("textarea-inside");
|
|
testTarget.onkeyup = test2.step_func(function (evt) {
|
|
|
|
/* Verify the textfield received focus from tab key */
|
|
test(function () {
|
|
assert_equals(document.activeElement.id, "textarea-inside");
|
|
}, "textarea inside region received focus");
|
|
|
|
test2.done();
|
|
});
|
|
});
|
|
|
|
var test3 = async_test("onkeydown event fired in textarea inside region", {timeout: testTimeout});
|
|
test3.step( function() {
|
|
var testTarget = document.getElementById("textarea-inside");
|
|
testTarget.onkeydown = test3.step_func(function (evt) {
|
|
|
|
/* Verify the target outside the region has the correct ID */
|
|
test(function () {
|
|
assert_equals(evt.target.id, "textarea-inside");
|
|
}, "textarea inside region has the correct ID");
|
|
|
|
test3.done();
|
|
});
|
|
});
|
|
|
|
tabKeyPresses(3);
|
|
completionCallback();
|
|
|
|
} //end of getLeftPosition test
|
|
else {
|
|
test(function () {
|
|
assert_true(false);
|
|
}, "Regions are not enabled");
|
|
}
|
|
</script>
|
|
|
|
</body></html> |