Skip to content

Accessibility Regression (Android, 0.75.4): ScrollView causes entire layout to be focused by TalkBack #50950

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
BavlyAbdelmasih opened this issue Apr 27, 2025 · 4 comments
Labels
Component: ScrollView Impact: Regression Describes a behavior that used to work on a prior release, but stopped working recently. Needs: Author Feedback Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. Platform: Android Android applications. Type: Unsupported Version Issues reported to a version of React Native that is no longer supported

Comments

@BavlyAbdelmasih
Copy link

BavlyAbdelmasih commented Apr 27, 2025

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

  1. Create a screen with a ScrollView wrapping multiple focusable components (e.g., TextInput, Buttons).
  2. Do not set importantForAccessibility="no" on the ScrollView.
  3. Build and run the app on an Android device with TalkBack enabled.
  4. 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

@react-native-bot
Copy link
Collaborator

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.

@react-native-bot react-native-bot added Type: Unsupported Version Issues reported to a version of React Native that is no longer supported Needs: Author Feedback Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. Component: ScrollView Impact: Regression Describes a behavior that used to work on a prior release, but stopped working recently. Platform: Android Android applications. and removed Needs: Triage 🔍 labels Apr 27, 2025
@react-native-bot
Copy link
Collaborator

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.

@react-native-bot
Copy link
Collaborator

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:


You can read more about about it on our website: How to report a bug.

@devanshsaini11
Copy link
Collaborator

@BavlyAbdelmasih can u please verify if this is happening on latest react-native version 0.79.x?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: ScrollView Impact: Regression Describes a behavior that used to work on a prior release, but stopped working recently. Needs: Author Feedback Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. Platform: Android Android applications. Type: Unsupported Version Issues reported to a version of React Native that is no longer supported
Projects
None yet
Development

No branches or pull requests

3 participants