adobe/react-spectrum

useLongPress should be cancelled on multiple touches

Open

#5,934 opened on 2024年2月24日

GitHub で見る
 (1 comment) (0 reactions) (0 assignees)TypeScript (1,500 forks)auto 404
bughelp wanted

Repository metrics

Stars
 (15,634 stars)
PR merge metrics
 (PR metrics pending)

説明

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

コントリビューターガイド