gorhom / react-native-bottom-sheet

A performant interactive bottom sheet with fully configurable options 🚀
https://ui.gorhom.dev/components/bottom-sheet
MIT License
6.69k stars 741 forks source link

[v4] [Android] [Talkback] [Accessible] Cannot select other components on screen after moving Bottomsheet #1914

Closed namtran-axonvibemta closed 13 hours ago

namtran-axonvibemta commented 1 month ago

Bug

Environment info

Library Version
@gorhom/bottom-sheet 4.6.3
react-native 0.7.4
react-native-reanimated 3.12.1
react-native-gesture-handler 2.12.1

Steps To Reproduce

  1. Enable Talkback on Android then move to the Bottomsheet
  2. Try to move to full screen or even just a little move only then cannot tap any elements on screen anymore.
  3. User can move the Bottomsheet back to mini or medium mode but cannot tap any elements on screen (even elements inside the bottomsheet).

Describe what you expected to happen:

  1. User can tap to any elements on screen after moving the bottomsheet

Reproducible sample code

namtran-axonvibemta commented 1 month ago

The issue comes from react-native-gesture-handler library. It seems wrong in implementation of Hover feature that make this conflicted with scroll event. https://github.com/software-mansion/react-native-gesture-handler/commit/16a266e3af637c24cf690a3c76995b178d40f453

After editing the override function then Talkback now can work again after moving bottomsheet (I ignored Hover feature). node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt

override fun dispatchGenericMotionEvent(event: MotionEvent) =
    super.dispatchGenericMotionEvent(event)

This bug should be reported to react-native-gesture-handler library!

github-actions[bot] commented 5 days ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

github-actions[bot] commented 13 hours ago

This issue was closed because it has been stalled for 5 days with no activity.