adobe/react-spectrum

useLongPress should be cancelled on multiple touches

開放

#5,934 建立於 2024年2月24日

 (2 則留言) (0 個反應) (0 位負責人)TypeScript (1,500 個分叉)auto 404
bughelp wanted

倉庫指標

星標
 (15,634 顆星)
PR 合併指標
 (平均合併 8天 2小時) (30 天內合併 80 個 PR)

描述

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

貢獻者指南