我必须改善网站的网页可访问性。我在Drupal中可能的地方直接在html中添加aria属性,但是有些东西我不能在html中添加,比如旋转木马和幻灯片,所以在加载文档后添加aria属性到元素中是否可以?比如
$(document).ready(function(){ $(".item").attr("aria-label", "My Label");});
$(document).ready(function(){
$(".item").attr("aria-label", "My Label");
});
vwoqyblh1#
是的,如果您没有其他选择,这样做是可以接受的。但是,请注意,这并不是一个100%万无一失的方式来处理某些屏幕阅读器(它应该在最新版本的NVDA、VoiceOver和JAWs中正常工作)。一些较老的屏幕阅读器会在文档加载时构建可访问性树,因此通过vanilla JS作为页脚中的内联JS块来实现这一点是谨慎的(如果这是一个不好的做法,但却是我能想到的最好的解决方案)。这可能是不可能的鉴于您目前的设置,如果是这种情况下,那么你建议的方式是可以接受的,最好的你将能够实现在一个合理的时间表。如果你真的想修复它(你应该!)--你有没有想过在生成HTML时替换那些有问题的插件/库(或者扩展/编辑这些库/插件)来添加所需的元素。这就是我会如何处理这个问题。
1条答案
按热度按时间vwoqyblh1#
是的,如果您没有其他选择,这样做是可以接受的。
但是,请注意,这并不是一个100%万无一失的方式来处理某些屏幕阅读器(它应该在最新版本的NVDA、VoiceOver和JAWs中正常工作)。
一些较老的屏幕阅读器会在文档加载时构建可访问性树,因此通过vanilla JS作为页脚中的内联JS块来实现这一点是谨慎的(如果这是一个不好的做法,但却是我能想到的最好的解决方案)。
这可能是不可能的鉴于您目前的设置,如果是这种情况下,那么你建议的方式是可以接受的,最好的你将能够实现在一个合理的时间表。
如果你真的想修复它(你应该!)--你有没有想过在生成HTML时替换那些有问题的插件/库(或者扩展/编辑这些库/插件)来添加所需的元素。这就是我会如何处理这个问题。