第 20 课2026.09.28
刷新失败文字变化时,提示 TalkBack 用户,但不强行打断正在朗读的内容。
第 20 课:在 Android 上温和播报刷新结果
- 日期:2026-09-28
- 课程序号:第 20 课
- 知识点:
accessibilityLiveRegion="polite"
用途或适用场景
刷新失败文字变化时,提示 TalkBack 用户,但不强行打断正在朗读的内容。
核心概念
React Native 的 accessibilityLiveRegion 仅适用于 Android;polite 要求辅助服务在适当时机播报已有视图的内容变化。保留上一课的 alert 角色,并使该 Text 常驻以便内容变化可被检测。
最小代码或操作示例
tsx
// 沿用第 19 课的 errorMessage 和 lastSuccess;只替换错误 Text。
<>
<Text>{lastSuccess ? `上次成功:${lastSuccess.toLocaleTimeString()}` : '尚未成功刷新'}</Text>
<Text accessibilityRole="alert" accessibilityLiveRegion="polite">
{errorMessage}
</Text>
</>3~5 分钟练习
在 Android 设备开启 TalkBack,先成功刷新,再触发失败。
参考答案
成功时间保留、错误文字出现;官方定义 polite 为播报内容变化,但具体播报时机须在目标设备验证,不能仅凭代码断言。
与上一课的联系
沿用第 19 课的 errorMessage、lastSuccess 和 alert 角色;本课只让错误 Text 保持挂载并加 Android 的 polite 实时区域;下一课可分别记录 Android TalkBack 与 iOS VoiceOver 的实际结果。
时效校验
时效校验:2026-09-28(已核对 React Native 当前 Accessibility 文档;accessibilityLiveRegion 标为 Android 专用,polite 与 alert 未见废弃标记;未做设备朗读测试)。