Jquery 如何使CSS外部链接(target=";u blank";)图标可访问?
我想自动将“外部链接”图标归属于非现场链接(即Jquery 如何使CSS外部链接(target=";u blank";)图标可访问?,jquery,html,css,accessibility,Jquery,Html,Css,Accessibility,我想自动将“外部链接”图标归属于非现场链接(即a-标记包含target=''u blank')。到目前为止,我通过以下方式成功地使用纯CSS: a[target="_blank"]:after { font-family:'Glyphicons Halflings'; font-size: 0.8em; content: " \e164"; } 这很有效。然而,这里的缺点是它不满足可访问性规则,因为依赖屏幕阅读器的人看不到图标。解决方案是修改a-标记的title属性,将
a
-标记包含target=''u blank'
)。到目前为止,我通过以下方式成功地使用纯CSS:
a[target="_blank"]:after {
font-family:'Glyphicons Halflings';
font-size: 0.8em;
content: " \e164";
}
这很有效。然而,这里的缺点是它不满足可访问性规则,因为依赖屏幕阅读器的人看不到图标。解决方案是修改a
-标记的title属性,将其改为“在新窗口中打开”(或者更好地将其添加到现有的title属性)。我不认为在CSS中有任何方法可以做到这一点,所以我尝试使用jQuery,我知道一点,但不经常使用
我试过这个:
<script>
$(document).ready(function(){
$($("a").attr("target","_blank")).attr("title", "My external link");
});
</script>
$(文档).ready(函数(){
$($(($).attr(“target”),“_blank”).attr(“title”,“我的外部链接”);
});
但是它改变了所有的a
-标记,而不仅仅是那些带有target=''u blank'
的标记。我一定是在jQuery select中出错了,但我看不出是什么(我试过查看jQuery文档,甚至试过.each()
-函数,但没有成功)
欢迎在这方面提供帮助,甚至就如何实现预期效果提出其他建议
$("a[target='_blank']").attr("title", "My external link");
您忘记了选择器:)您最好向所有需要的a标记添加一个类,否则您可以使用.each()
因此,根据另一个答案和我的评论,您正在jquery中选择所有
a
标记,并且应该使用$('a[target=“\u blank”]”)。attr(“title”,“我的外部链接”)代码>
但是,一些屏幕阅读器将看不到此更新,仍然会阅读原始标题文本。(请记住,您是在页面呈现后添加此选项的)
如果要将target _blank添加到a
标记,还应添加新标题(如果可能)。如果屏幕阅读器看不到您更新的标题文本$('a[target=“\u blank”]”)。attr(“标题”,“我的外部链接”)代码>
$("a[target='_blank']").each(function() {
$(this).attr("title", "My eternal link");
});