activation-trigger-keyboard-enter.html (1658B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <link rel="help" href="https://html.spec.whatwg.org/multipage/interaction.html#activation-triggering-input-event"> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="/resources/testdriver.js"></script> 8 <script src="/resources/testdriver-vendor.js"></script> 9 <script src="resources/utils.js"></script> 10 </head> 11 <body onload="runTests()"> 12 <h1>Test for keyboard activation trigger for ENTER key</h1> 13 <p>Tests user activation from a ENTER keyboard event.</p> 14 <input type="text" autofocus /> 15 <ol id="instructions"> 16 <li>Press ENTER key. 17 </ol> 18 <script> 19 function runTests() { 20 promise_test(async () => { 21 const ENTER_KEY = '\uE007'; 22 23 let keydown_event = getEvent('keydown'); 24 let keypress_event = getEvent('keypress'); 25 let keyup_event = getEvent('keyup'); 26 27 await test_driver.send_keys(document.body, ENTER_KEY); 28 29 await keydown_event; 30 let consumed = await consumeTransientActivation(); 31 assert_true(consumed, 32 "ENTER keydown event should result in activation"); 33 34 await keypress_event; 35 consumed = await consumeTransientActivation(); 36 assert_false(consumed, 37 "ENTER keypress should have no activation after keydown consumption"); 38 39 await keyup_event; 40 consumed = await consumeTransientActivation(); 41 assert_false(consumed, 42 "ENTER keyup should have no activation after keydown consumption"); 43 }, "Activation through ENTER keyboard event"); 44 } 45 </script> 46 </body> 47 </html>