【问题标题】:Dynamically added elements for screen-reader : aria-live Vs role-alert为屏幕阅读器动态添加元素:aria-live Vs role-alert
【发布时间】:2013-08-01 09:50:27
【问题描述】:

我有一个应用程序,其中元素被动态添加到页面中,我希望屏幕阅读器能够在不同版本的浏览器(IE 8/9/10、FF 和 Chrome)上阅读它们。

以下两者有什么区别:添加 'role=alert' 属性 Vs 'aria-live=assertive'?

$("<div role='alert'>Sample message.</div>").appendTo($existingElement);

$("<div aria-live='assertive'>Sample message.</div>").appendTo($existingElement);

【问题讨论】:

  • 您还应该指明您打算支持哪些屏幕阅读器。 JAWS、NVDA、VoiceOver、ChromeVox 等。它们各自的行为各不相同,并且在不同的浏览器中也各不相同。

标签: screen-readers wai-aria


【解决方案1】:

默认情况下,role='alert' 继承 aria-atomicaria-live 并具有 assertive 值,因此应该从用户的角度来看类似的行为。但是,并非所有用户代理都以相同的方式实现规范。

w3c recommends 在可用时使用适当的角色,而不是通用的 aria-live 区域。这伴随着用户代理历史上在两者之间显示inconsistent behaviors的警告。

针对 HTML5 Accessibility's alert test page 的测试表明 ChromeVox 1.27.0 支持您展示的技术,而 OS X 10.8.4 上的 VoiceOver 与 Safari 不支持。

【讨论】:

    猜你喜欢
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多