Skip to content

Android/iOS Accessible Live Regions #34735

@aliossam

Description

@aliossam

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

Metadata

Metadata

Assignees

Labels

Needs: Triage 🔍Platform: AndroidAndroid applications.Platform: iOSiOS applications.StaleThere has been a lack of activity on this issue and it may be closed soon.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions