跳到主要内容
界面图谱Interface Atlas
☰
EN
无障碍Accessibility / Feedback

实时区域

ARIA Live Region

别名:实时区域实时播报播报区域读屏播报aria-livelive region

这是什么

在页面上预留一块播报区,内容动态更新时把消息念给屏幕阅读器,而不移动焦点。保存成功、筛选结果数、异步校验这类「看得见变了但焦点没动」的信息,读屏用户不靠它就会漏掉。

名词辨析

aria-live 是不打断焦点的后台播报,modal 是抢走焦点的强制阅读——都在传达更新,一个插话,一个拦路。

交互实验室

试一试,再决定怎么用

正在加载实验室…

✓ 适用场景

  • 操作结果反馈(已保存、已复制、已提交)
  • 异步结果与筛选计数等无焦点移动的更新
  • 表单校验错误需要在字段之外被朗读

✕ 不适用场景

  • 用播报区代替把焦点移到错误字段(字段级错误仍要 focus)
  • 高频连续插入导致读屏被消息刷屏
  • 必须被立即处理的阻断性错误只用 polite

常见形式

礼貌播报

Polite live

aria-live="polite",等用户停顿再念,适合一般结果

紧急打断

Assertive alert

aria-live="assertive" / role="alert",立刻打断,仅限关键警告

状态播报

Status

role="status",隐含 polite,适合加载与完成状态

实现要点

aria-liverole="status"role="alert"aria-atomic

实时区域必须预先存在于 DOM(空容器即可),再更新文本内容——动态创建的 live region 常常不会被朗读。role="status" 与 role="alert" 自带隐含 aria-live,不必重复声明。aria-atomic="true" 保证整块重读;同一区域连续更新时先清空再写入,避免被合并。视觉隐藏用 sr-only 但保持可朗读。

平台 API

aria-liverole="status"role="alert"aria-atomic

代码里叫什么

同一控件在不同体系里的叫号——用对名字,Prompt 和检索才准。

相关概念

容易混淆

模态框Modal

modal 抢占焦点强制阅读,aria-live 在不夺走焦点的前提下朗读更新。

参考来源

Markdown 版(给 Agent) · JSON