adobe/react-spectrum

useLongPress should be cancelled on multiple touches

Open

#5.934 aberto em 24 de fev. de 2024

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)TypeScript (1.500 forks)auto 404
bughelp wanted

Métricas do repositório

Stars
 (15.634 stars)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

Provide a general summary of the feature here

Hi there!

I just received an accessibility issue from a user (see: https://github.com/aeharding/voyager/issues/1254).

3-finger double tap cause [long press menu] to open. This is commonly used as an accessibility shortcut. I use it for full screen zoom. Ii can't do it with [App] because it causes the [long press menu] to open in waiting to the zoom.

Essentially, the native iOS feature is conflicting with long press, because long press does not cancel when multiple touches are detected.

🤔 Expected Behavior?

Long press should cancel when multiple touches are detected - at very least, as an option.

This is the standard behavior for native iOS apps (for example, the Mail app).

😯 Current Behavior

Holding screen with two fingers, or pressing one finger and then another before the LONG_PRESS_THRESHOLD, causes the long press callback to be triggered.

💁 Possible Solution

New option: LongPressProps["cancelOnTouches"]?: boolean

🔦 Context

Please see accessibility concern from user, where they cannot use the native iOS zoom function with 3-finger tap because it conflicts with useLongPress.

https://github.com/aeharding/voyager/issues/1254

💻 Examples

No response

🧢 Your Company/Team

Voyager for Lemmy

🕷 Tracking Issue

https://github.com/aeharding/voyager/issues/1254

Guia do colaborador