使用JS

时间:2016-06-30 00:08:49

标签: javascript wai-aria wai

在工作中,我一直在使用WAI-ARIA属性优化我为其中一个客户(我不能说谁)开发的网站之一。我一直想知道创建一个小型JS库是否更容易,它可以添加" role = button"我认为它的样式看起来像一个按钮,添加" tabindex = 0"我要成为的元素" tabable"等

我想知道用JS添加WAI-ARIA属性是否是一个好习惯,或者是不赞成的。一些辅助功能评估工具在评估时不会运行页面的JS,所以当它们真的没有时,它会认为这些是痛点。

2 个答案:

答案 0 :(得分:1)

这可能会有所帮助Add ARIA inline or via script? 另请注意,如果您使用role =按钮,则需要act like a button(即提供适当的键盘交互行为)

答案 1 :(得分:0)

我认为为了progressive enhancement的利益,最好将所有ARIA内联,而不是依靠脚本来添加它。

如果有其他脚本错误,如果连接被删除,如果有阻塞脚本等,那么您的库可能无法发挥作用,您的修复工作将会丢失。

我还想建立史蒂夫上面提到的关于在链接上使用role=button的内容。特别是当你认为视觉风格(使链接看起来像一个按钮)对于屏幕阅读器的使用是没有意义的(对许多ARIA角色有益)。我更详细地解决了其他键盘交互问题in another SO answer,但是当您尝试将链接转换为按钮时,可以考虑以下内容:

  

按Enter键可以触发超链接(<a href>)。但是按下回车键或空格键可以触发真<button>。当超链接具有焦点并且用户按下空格键时,该页面将滚动一个屏幕。某些辅助技术的用户将期望基于所使用的元素的行为。

另外,我提醒我不要将tabindex=0一个你希望成为可能的元素放在一边,除非它是一个交互元素。例如,不要将它放在标题(<h#>)上,因为有人可以选择它,因为屏幕阅读器(例如)已经允许按标题导航。