adobe/react-spectrum

useLongPress should be cancelled on multiple touches

Open

#5934 aperta il 24 feb 2024

Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)TypeScript (1500 fork)auto 404
bughelp wanted

Metriche repository

Star
 (15.634 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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

Guida contributor