aria-live on Text Is Not Announced on Android
Text accepts aria-live in its types, but in React Native 0.88 it does not
convert it to accessibilityLiveRegion, as View does. A counter in
<Text aria-live="polite"> is never announced by TalkBack; the same counter
with accessibilityLiveRegion="polite" is announced on every change.
- Checked: 21 October 2026
- Versions: React Native 0.88.0, Expo SDK 58 (development build)
- Devices: Samsung phone (SM-A276B), Android 16, TalkBack
- Upstream:
react/react-native#59330:
merged into
main
How It Was Checked
The announcements case of Memo Lab:
counters in live regions, each changed by its own button; activate a button and
wait for the announcement.
<>
{/* A: silent */}
<Text aria-live="polite">Cart A: {countA} items</Text>
{/* B: announced on every change */}
<Text accessibilityLiveRegion="polite">Cart B: {countB} items</Text>
</>
Result
- A is never announced, B is.
- The cause:
Textpassesaria-liveto the native side under that name, and the native side reads onlyaccessibilityLiveRegion. - Not affected: iOS, which has no live regions; there the app posts an
announcement with
AccessibilityInfo.announceForAccessibility.
Upstream
react/react-native#59330
maps aria-live to accessibilityLiveRegion in Text. It was merged into
main on 22 October 2026, after the 0.88 branch was cut; on 27 October 2026 it
is not in a release (0.88.1 does not include it).