Accessibility issue - Android with TalkBack - accessibilityRole="link" is not available when user tries to navigate via links (TalkBack menu)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 127k
- Forks
- 25.3k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 4
Description
Description
Used accessibilityRole="link" on a Pressable and it's semantics is properly announced to TalkBack.
The problem is that users can not navigate via links when they want to use "TalkBack menu" feature in the TalkBack (https://support.google.com/accessibility/android/answer/6006598?hl=en).
TalkBack menu navigate by Headings, Paragraphs, Buttons etc. seem to work fine, but links do not work.
Steps to reproduce
Basically it drills down to this part of code:
<Pressable style={styles.link} onPress={handlePress} accessibilityRole="link">
<Text>{name}</Text>
</Pressable>
I've made a simple Expo Snack that can be used for testing: https://snack.expo.dev/HjDqJulTWJJtcolH3eHue
Expo SDK: 51.0.0
Android: 14
TalkBack version: Accessibility 15.1.00.7
React Native Version
0.74.3
Affected Platforms
Runtime - Android
Output of npx react-native info
Not Applicable
Stacktrace or Logs
Not Applicable
Reproducer
https://snack.expo.dev/HjDqJulTWJJtcolH3eHue
Screenshots and Videos
Please check https://youtu.be/I-KUxd3EZdc
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Pressable accessibilityRole="link" path and reproduce the issue using the linked Expo Snack on Android 14 with TalkBack. Compare link navigation in the TalkBack menu with the working headings, paragraphs, and buttons; done means links exposed by Pressable are available through that navigation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, react-native
- Domain
- accessibility, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100