activation-trigger-keyboard-escape.html (1419B)
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 ESCAPE key</h1> 13 <p>Tests missing user activation from a ESCAPE keyboard event.</p> 14 <input type="text" autofocus /> 15 <ol id="instructions"> 16 <li>Press ESCAPE key. 17 </ol> 18 <script> 19 function runTests() { 20 promise_test(async () => { 21 const ESCAPE_KEY = '\uE00C'; 22 23 let keydown_event = getEvent('keydown'); 24 let keyup_event = getEvent('keyup'); 25 26 await test_driver.send_keys(document.body, ESCAPE_KEY); 27 28 await keydown_event; 29 let consumed = await consumeTransientActivation(); 30 assert_false(consumed, 31 "ESCAPE keydown event should not result in activation"); 32 33 await keyup_event; 34 consumed = await consumeTransientActivation(); 35 assert_false(consumed, 36 "ESCAPE keyup should have no activation after keydown consumption"); 37 }, "Activation through ESCAPE keyboard event"); 38 } 39 </script> 40 </body> 41 </html>