Talkback double announcement when using accessibilityRole={'header'}
See original GitHub issuePlease provide all the information requested. Issues that do not follow this format are likely to stall.
Description
For whatever reason when attaching accessibilityRole={'header'}
to an element it is announcing ‘heading’ twice with TalkBack on. Testing the same component on iOS using VoiceOver achieves the expected result of it only announcing once.
React Native version:
61.4
Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.
- Create some sort of component with 'accessibilityRole={‘header’}`
- Test on iOS and Android
Expected Results
Talkback should announce ‘header’ only once when using TalkBack like it does with VoiceOver.
Snack, code example, screenshot, or link to a repository:
https://snack.expo.io/@jcron/accessibility-role-double-announce
Issue Analytics
- State:
- Created 3 years ago
- Reactions:1
- Comments:18 (5 by maintainers)
Top Results From Across the Web
Talk back announce Double Tap to Activate on header element
I am using jQuery.mobile-1.3.1.js plugin in my application which binds "vclick" event on document. And which causes double tap issue. To resolve ...
Read more >Turn TalkBack on or off - Android Accessibility Help
Things to be aware of when TalkBack is on. Tap to select an item, then double-tap to turn on. Use 2 fingers to...
Read more >Android accessibility: roles and TalkBack - TetraLogical
On the other hand, when using TalkBack to navigate within a native application, ... it will (normally) announce "double-tap to activate", ...
Read more >Android Accessibility — Resolving common Talkback issues
A button with two actions generates an accessibility announcement of “Edit note, Double tap to activate, Double tap and hold to long press”....
Read more >Adjust the accessibility settings on your Meta Portal
Scroll using two fingers. Double tap next to TalkBack. During set up, you can turn off screen reader by holding the screen with...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
This has been fixed in v0.63.1: https://github.com/facebook/react-native/commit/7428271995adf21b2b31b188ed83b785ce1e9189
From an Android perspective, Talkback is doing this for each TextView that contains a ClickableSpan or URLSpan in its text.
From the RN side, whenever you set a link role on a component, we are under the hood creating a URLSpan and setting it as the full length of text on that component:
https://github.com/facebook/react-native/blob/da899c0cc4372830e5ca053a096b74fff2a19cb8/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java#L377-L387
This is definitely not a great experience currently, and I’m actually working right now to implement a better approach to link handling in general, where the links act more like they do on web surfaces and get focused on their own rather than being accessed via a dedicated menu.