synthetic-click-inert.html (1191B)
1 <!DOCTYPE html> 2 <link rel=author href="mailto:jarhar@chromium.org"> 3 <link rel=author href="mailto:falken@chromium.org"> 4 <link rel=help href="https://html.spec.whatwg.org/multipage/interactive-elements.html#the-dialog-element"> 5 <link rel=help href="https://bugs.chromium.org/p/chromium/issues/detail?id=241699"> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 9 <style> 10 dialog { 11 width: 50px; 12 } 13 </style> 14 15 <button>Click me</button> 16 <div id="div">Click me too</div> 17 <dialog></dialog> 18 19 <script> 20 test(() => { 21 dialog = document.querySelector('dialog'); 22 dialog.showModal(); 23 24 const button = document.querySelector('button'); 25 const div = document.getElementById('div'); 26 let clicked = false; 27 28 [button, div].forEach(function(element) { 29 element.addEventListener('click', () => clicked = true); 30 31 clicked = false; 32 element.click(); 33 assert_true(clicked, 'Calling click() on ' + element.tagName); 34 35 clicked = false; 36 element.dispatchEvent(new Event('click')); 37 assert_true(clicked, 'Calling dispatchEvent() on ' + element.tagName); 38 }); 39 }, 'Test that inert nodes still get programmatic click events'); 40 </script>