Open Bug 1714581 Opened 4 years ago Updated 4 years ago

On macOS, two finger double tap zoom is sometimes triggered by accident while scrolling

Categories

(Core :: Panning and Zooming, defect, P3)

defect

Tracking

()

People

(Reporter: st3fan, Unassigned)

Details

This is very difficult to reproduce, but sometimes when scrolling on the trackpad, which is a two finger drag gesture, a page zoom is triggered. I wonder if it because my thumb accidentally touches the edge and then that group of taps is interpreted as a tap.

The gesture detection for double-taps is handled by the OS, so our ability to address this may be limited.

I think the next steps here are:

  1. Identify what interaction triggers an undesired double-tap.
  2. Check if the same interaction triggers a double-tap in Safari. If so, that's likely a "works as intended" from our point of view.
  3. If not, investigate the difference in behaviour further.

A little more fleshed out background.

My understanding is that the processing to determine if to send us a "smart magnify" gesture is done all in the macOS code/Apple hardware, and we just get a smartMagnifyWithEvent call

https://searchfox.org/mozilla-central/rev/bf8d5de8528036c09590009720bc172882845b80/widget/cocoa/nsChildView.mm#2716

when the OS determines to send us one. This involves doing things like waiting 300ms after a single tap with two fingers to determine if a second tap is coming before sending the events to apps. Based on this understanding I would expect that if the same physical things are happening to the input device then the same thing would happen in any app that processes the double tap gesture (ie Safari, Chrome, etc).

As you've already discovered this behaviour can be disabled in Firefox via the pref apz.mac.enable_double_tap_zoom_touchpad_gesture

And at the os level it can be disabled in system preferences, it's called Smart Zoom under trackpad.

It may be possible to find some magic command line that modifies an internal macOS value that is used in processing input to determine if a double tap gesture was performed to make it more or less sensitive, I don't know.

Before we implemented this behaviour the double tap gesture was mapped to "reset zoom", so an accidentally trigger would be less jolting to the user, and nothing would happen if full zoom and smooth pinch zoom had not been changed/performed.

Apple trackpads distinguish between "taps" (briefly touching and removing fingers from the trackpad) from "clicks" (where the user feels a click feedback from the trackpad). The double tap gesture only requires two, two-finger taps to activate, so for people who disable tap-to-click (like myself), who are not used to things activating purely from taps, this might be a surprising.

Severity: -- → S3
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.