【发布时间】:2011-05-19 05:36:54
【问题描述】:
本着渐进增强的精神,如果浏览器支持,我想做一些 ARIA 功能测试来实现额外的增强。我不希望检测屏幕阅读器——我希望确保屏幕阅读器用户在他们使用的工具的情况下获得最佳体验。
例如,如果不支持aria-live 属性,那么实现endless scrolling 可能不是一个好主意。
我知道还有一个问题是浏览器可能支持这些属性,但屏幕阅读器可能不支持。由于屏幕阅读器在浏览器上透明运行,我可以忽略这种边缘情况。
我从未听说过有人这样做。是否像测试浏览器赋予的额外 DOM 属性一样简单? Mark Pilgrim 的其他capability testing techniques 之一在这里工作吗?
谢谢!
【问题讨论】:
-
为了确保我理解,您需要 JavaScript 来告诉您
aria-*属性是否对当前浏览器有任何影响?因此,如果支持浏览器(合并浏览器和任何可访问性插件)始终确保aria-selected具有true、false或undefined的值,正如w3.org/WAI/PF/aria/states_and_properties#aria-selected 所要求的那样,那么JavaScriptvar div = document.createElement('DIV'); div.setProperty('aria-selected', 'bogus'); if (div.getProperty('aria-selected') != 'bogus') { alert('aria supported'); }会起作用吗? -
正确!但是,在许多浏览器中,您可以在 DOM 元素上设置任意属性值。在您提供的示例中(将 get/setProperty 替换为 get/setAttribute),您在我测试的所有浏览器中都会收到警报,包括 FF1 和 Safari 2(它们都没有任何类型的 ARIA 支持)。然而,我正在寻找能够达到这种结果的东西。
标签: javascript accessibility screen-readers section508 wai-aria