blob: d63362aaa1828f35de410b56c1ccc2d7869a111e [file] [log] [blame]
<!DOCTYPE html>
<meta charset=utf-8>
<title>Focus management</title>
<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
<link rel=help href="https://html.spec.whatwg.org/multipage/#focus-management">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<input type=text id=i1>
<input type=text id=i2>
<script>
var i1 = document.getElementById('i1'),
i2 = document.getElementById('i2'),
t1 = async_test("focusing on a focusable element fires a focus event at the element"),
t2 = async_test("focusing on a focusable element fires a blur event at the previous focussed element");
i2.onfocus = t1.step_func_done(function(e){
assert_true(e.isTrusted, "focus event is trusted");
assert_false(e.bubbles, "focus event doesn't bubble");
assert_false(e.cancelable, "focus event is not cancelable");
assert_equals(document.activeElement, i2);
});
i1.onblur = t2.step_func_done(function(e){
assert_true(e.isTrusted, "blur event is trusted");
assert_false(e.bubbles, "blur event doesn't bubble");
assert_false(e.cancelable, "blur event is not cancelable");
});
i1.focus();
i2.focus();
</script>