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");
});