When pressing space key inside a textfield, no page scroll is observed. Should work the same for untrusted events, test case below: Open any page with an input on it, such as: https://bugs.webkit.org/ Run this in the console: const input = $('input[type=text]'); // grab first input on the page const event = new KeyboardEvent('keypress', { altKey: false, bubbles: true, cancelBubble: false, cancelable: true, charCode: 32, code: "Space", composed: true, ctrlKey: false, currentTarget: null, defaultPrevented: false, detail: 0, eventPhase: 0, isComposing: false, key: " ", keyCode: 0, location: 0, metaKey: false, repeat: false, returnValue: true, shiftKey: false, srcElement: input, target: input, type: "keypress", which: 0 }); input.focus(); input.dispatchEvent(event); Note that page scrolls.
<rdar://problem/73479284>