javascript - DOM 加载后添加的 WAI-ARIA 属性

标签 javascript jquery accessibility wai-aria wcag2.0

我必须改进网站的网络可访问性。 我在 Drupal 中尽可能直接在 html 中添加 aria 属性,但有些东西我无法在 html 中添加,例如轮播和幻灯片,因此在加载文档后向元素添加 aria 属性是否可以。 就像

$(document).ready(function(){
  $(".item").attr("aria-label", "My Label");
});

最佳答案

是的,如果您没有其他选择,那么这样做是可以接受的。

但是请注意,对于某些屏幕阅读器来说,这并不是 100% 万无一失的方法(它应该可以在最新版本的 NVDA、VoiceOver 和 JAW 中正常工作)。

一些较旧的屏幕阅读器会在文档加载时构建辅助功能树,因此通过普通 JS 作为页脚中的内联 JS block 来完成此操作是谨慎的(虽然有些不好的做法,但这是我能想到的最佳解决方法) .

考虑到您当前的设置,这可能是不可能的,如果是这种情况,那么您建议的方式是可以接受的,并且是您在合理的时间范围内能够实现的最佳方式。

如果你真的想修复它(你应该!) - 你是否考虑过替换有问题的插件/库(或扩展/编辑库/插件)以在生成 HTML 时添加所需的元素。这就是我处理这个问题的方式。

关于javascript - DOM 加载后添加的 WAI-ARIA 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58338573/

相关文章:

jquery - 如何使我的页面部分 508 和 wcag 2.0 兼容

javascript - 在 html 页面中加载 javascript 脚本的位置

Javascript : Prevent overlapping on images that are sized randomly

javascript - 使用angularJS设置HTML5日期输入字段的默认值

javascript - 如何迭代 Jade 中的多个对象

jquery - 为什么 jquery 会有这样的行为

flutter - 如何在按下按钮的同时增加文本大小?

iOS 13 语音控制辅助功能 - 有没有办法执行更多自定义操作(而不仅仅是链接到辅助功能标签)?

javascript - Jquery ajax 请求完成但 Axios 失败

javascript - 无法读取 null 的属性 'childNodes'