-
Notifications
You must be signed in to change notification settings - Fork 24.8k
Description
Description
The accessibilityLiveRegion prop is currently only supported on Android, and there are issues with it even on that platform. Ideally this prop would consistently work on both iOS and Android.
Expected Behavior
Whenever an element with accessibilityLiveRegion set, or any descendant of an element with accessibilityLiveRegion set has any content changes, they should be queued up to be announced by the screen reader. “Polite” announcements should not interrupt any ongoing announcements, while “assertive” ones should interrupt.
Android Details
On Android, the accessibilityLiveRegion prop works in the older Paper renderer, but not the newer Fabric renderer.
iOS Details
On iOS there is no concept of live regions at a system level, so to support this we’d need to detect when content changes on any element (or descendant) with the accessibilityLiveRegion prop set, and make a manual announcement. These announcements will have to be queued up with the UIAccessibilitySpeechAttributeQueueAnnouncement property set to either make them “polite” or “assertive”.
The behavior of exactly how the queue works (maximum length, what happens when new announcements are queued after that length, etc.) should match Android and web as closely as possible.
Version
0.66
Output of npx react-native info
see description
Steps to reproduce
see description
Snack, code example, screenshot, or link to a repository
see description