react-native
react-native copied to clipboard
Accessibility Regression (Android, 0.75.4): ScrollView causes entire layout to be focused by TalkBack
Description
After updating to React Native 0.75.4, an accessibility regression was observed when using TalkBack on Android devices.
If a ScrollView does not explicitly set importantForAccessibility="no", TalkBack moves focus to the entire layout and announces all its contents at once, instead of focusing element-by-element as expected.
This behavior was not present in earlier versions of React Native.
Steps to reproduce
- Create a screen with a ScrollView wrapping multiple focusable components (e.g., TextInput, Buttons).
- Do not set
importantForAccessibility="no"on theScrollView. - Build and run the app on an Android device with TalkBack enabled.
- Navigate through the screen using swipe gestures.
React Native Version
0.75.4
Affected Platforms
Runtime - Android
Output of npx @react-native-community/cli info
System:
OS: macOS 14.7.4
CPU: (8) arm64 Apple M1
Memory: 90.44 MB / 16.00 GB
Shell:
version: "5.9"
Binaries:
Node:
version: 18.0.0
Yarn: Not Found
npm:
version: 8.6.0
Watchman: Not Found
Managers:
CocoaPods:
version: 1.16.2
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.2
- iOS 18.2
- macOS 15.2
- tvOS 18.2
- visionOS 2.2
- watchOS 11.2
Android SDK:
API Levels:
- "33"
- "34"
- "35"
Build Tools:
- 30.0.3
- 31.0.0
- 33.0.0
- 34.0.0
- 35.0.0
System Images:
- android-34 | Google APIs ARM 64 v8a
- android-34 | Google Play ARM 64 v8a
- android-35 | Google APIs ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2022.3 AI-223.8836.35.2231.10811636
Xcode:
version: 16.2/16C5032a
Languages:
Java:
version: 17.0.6
Ruby:
version: 2.7.5
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.3.1
wanted: ^18.3.1
react-native:
installed: 0.75.4
wanted: ^0.75.4
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false
Stacktrace or Logs
N/A
MANDATORY Reproducer
N/A
Screenshots and Videos
No response
[!WARNING] Unsupported version: It looks like your issue or the example you provided uses an unsupported version of React Native.
Due to the number of issues we receive, we're currently only accepting new issues against one of the supported versions. Please upgrade to latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If you cannot upgrade, please open your issue on StackOverflow to get further community support.
[!WARNING] Unsupported version: It looks like your issue or the example you provided uses an unsupported version of React Native.
Due to the number of issues we receive, we're currently only accepting new issues against one of the supported versions. Please upgrade to latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If you cannot upgrade, please open your issue on StackOverflow to get further community support.
[!WARNING] Missing reproducer: We could not detect a reproducible example in your issue report. Reproducers are mandatory and we can accept only one of those as a valid reproducer:
- For majority of bugs: send us a Pull Request with the RNTesterPlayground.js edited to reproduce your bug.
- If your bug is UI related: a Snack
- If your bug is build/upgrade related: a project using our Reproducer Template
You can read more about about it on our website: How to report a bug.
@BavlyAbdelmasih can u please verify if this is happening on latest react-native version 0.79.x?
This issue is waiting for author's feedback since 24 days. Please provide the requested feedback or this will be closed in 7 days.
This issue is waiting for author's feedback since 24 days. Please provide the requested feedback or this will be closed in 7 days.
This issue was closed because it has been stalled for 7 days with no activity.
This issue was closed because the author hasn't provided the requested feedback after 7 days.