Open Bug 1593883 Opened 4 months ago Updated 3 months ago

Allow content to handle Accel+N and Accel+T in Full Screen mode

Categories

(Firefox :: Keyboard Navigation, enhancement, P3)

72 Branch
enhancement

Tracking

()

UNCONFIRMED

People

(Reporter: penn.lv, Unassigned)

Details

(Keywords: parity-chrome)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.2 Safari/605.1.15

Steps to reproduce:

  • Write a simple html page with scripts that listen to keydown and prevent default when users press Ctrl+N (CMD+N on macOS)
  • Open the page
  • Go to Full Screen
  • Press Ctrl+N

Actual results:

Firefox opens a new browser tab

Expected results:

On both Safari and Chrome, the js code will prevent Ctrl+N being sent to the browser. It's also true when the website is running in standalone mode (PWA). I would expect the same experience on Firefox.

Running Firefox 70.0 on Ubuntu 19.10, and it seems that since this or a very recent version, Firefox has been intercepting more hotkeys than previously from JavaScript keyboard bindings (have tested .

To reproduce:

Actual results:

  • alt+[letter] hotkeys just register as plain [letter] presses
  • control+n and control+t open new window and tab respectively.

Expected behaviour:
*alt+[letter] hotkeys should not bubble to the browser level and should be captured by JS instead - it was definitely possible to reserve these with JS and prevent from bubbling to the browser in prior FF versions (Chromium, for reference, allows JS scripts to capture pretty much all of the alt+[letter] keys).

  • control+n and +t not being bindable may be expected behaviour, but for me at least Chromium doesn't seem to allow JS to block this.

Solution:
Am not sure if there's a JS hack that would make some of these functions work again, but as it stands, the lack of alt+[letter] access this has broken some web-apps in Firefox that have bound hotkeys to access their own menus or other functionality, for example.

Component: Untriaged → DOM: Events
Product: Firefox → Core

Ctrl+N is a Firefox UI feature.
-> Firefox

Component: DOM: Events → Keyboard Navigation
Product: Core → Firefox

Can we get this issue prioritized? Implementing keyboard lock can be one solution to this issue (tracked in https://bugzilla.mozilla.org/show_bug.cgi?id=700123) or FF can be like Safari, which just relaxes the keybindings overrides in FullScreen mode.

This will certainly help one part of the problem which VS Code devs are trying to solve to make https://online.visualstudio.com/ work Firefox.
Currently, it works in Chrome, Edge (Chromium) and Safari (Maybe). As u can see the issue here: https://github.com/microsoft/vscode/issues/83343

Flags: needinfo?(dao+bmo)
Flags: needinfo?(dao+bmo)
Keywords: parity-chrome
Priority: -- → P3
Summary: Override keyboard shortcuts in Full Screen mode → Allow content to handle Accel+N and Accel+T in Full Screen mode
You need to log in before you can comment on or make changes to this bug.