使用画布应用的实时区域公布动态更改

动态更改为视觉障碍人士带来难题。 通过屏幕阅读器访问应用的用户主要专注于应用的一个部分。 如果其他地方发生更改,这些用户不会意识到。

您可以通过添加屏幕阅读器跟踪的实时区域来解决此问题。如果内容在实时区域中更改,屏幕阅读器将公布更改。

实时区域的基本机制是 aria-live 区域,因此适用相同原理。

实时区域的使用示例

您可以使用实时区域在发生诸如以下事件时通知用户:

  • 窗体中出现验证错误。
  • 按钮触发的操作成功。 例如,用户可能选择一个按钮来将项目添加到集合中,实时区域可以显示消息“项目已添加”。
  • 用户选择了另一个选项卡。
  • 后台计时器刷新新闻源。

创建和配置实时区域

您只能将**标签** 控件配置为实时区域。 其 Live 属性确定它是哪类实时区域。

  • Off:不是实时区域。 屏幕阅读器不公布更改。
  • Polite:屏幕阅读器在结束讲话后公布更改. 将此值用于不需要立即引起关注的非关键通知。
  • Assertive:屏幕阅读器会自行打断,立即公布更改。 将此值用于需要立即引起关注的关键通知。

如果实时区域的文本内容发生更改,屏幕阅读器将公布整个文本内容,而不只是更改的部分。 如果将 Text 属性的值设置为空字符串 "",屏幕阅读器不会公布任何内容。

要重复某条消息,请将 Text 属性的值设置为空字符串 "" 来清除文本内容,然后重新将值设置为此消息。

最佳实践

  • 应始终将 Visible 设置为 true。 有些屏幕阅读器无法检测到消失后重新出现的实时区域。
  • 应避免更改 Live 的值。 有些屏幕阅读器无法检测到非实时区域变为实时区域,反之亦然。
  • 应将实时区域放在应用中的逻辑位置,即使它不可见。 应确保它的内容在上下文中与前后的元素之间都有意义。 用户可以随时在屏幕阅读器上通过常规导航访问实时区域,而不只是在发生更改时。

后续步骤

使用辅助功能检查器

另请参阅