2015-04-02 89 views
1

当我们在我们的网站上添加Google自定义搜索功能时,我们会从Google返回的自动代码中包含一些Google品牌图片,这些图片没有可访问性的alt标签。除了编写自己的JavaScript以将alt标签添加到这些图像之外,我找不到解决方案。这是我的解决方案,但是我的问题是:这是我们应该做还是不应该做的事?我想确保网站的所有部分都通过无障碍测试。Google Custom Search Accessibility

var x = document.getElementsByClassName("gsc-branding-img"); 

for (i = 0; i < x.length; i++) { 
    if(x[i].tagName == "IMG") { 
     x[i].alt = ""; 
    } 
} 
+0

您是否使用屏幕阅读器测试了此方法?它实际上提供了一个好处吗? – ceejayoz 2015-04-02 16:50:58

+1

如果图像传达信息,则此方法不会产生可访问的应用程序。你应该添加alt,但你应该确保它们是正确的。你能指向你的一个jsfiddle的网站吗? – unobf 2015-04-03 00:50:15

+0

@unobf这是由Google Custom Search插件生成的标记https://jsfiddle.net/caydgr9k/ – ckundo 2015-04-03 19:36:20

回答

1

有问题的图像是谷歌的标志,它的表现为“搭载谷歌”一语,在“谷歌”是标识形象的一部分。这个短语对没有替代文本的屏幕阅读器用户没有意义。

下面是谷歌自定义搜索插件有问题的部分:

 <td class="gsc-branding-text"> 
 
     <div class="gsc-branding-text">powered by</div> 
 
     </td> 
 
     <td class="gsc-branding-img"> 
 
     <img src="https://www.google.com/uds/css/small-logo.png" class="gsc-branding-img"> 
 
     </td>

这里是您的解决方案的变化,以替代文本添加到图像:

document.querySelector('img.gsc-branding-img').alt = "Google"

view it at jsfiddle

您也可以将文本内容添加到父标记并使用CSS直观地隐藏该文本。

+0

这是一个更清洁的版本,然后我得到了,谢谢!我仍然在学习JS和jQuery,感谢您的帮助。即使屏幕阅读器是空的,屏幕阅读器也会对alt标签感到高兴,但我觉得这很麻烦,我们必须为CSS隐藏图像做这些。谢谢! +1投给我! – CodeChefMarc 2015-04-03 23:55:23

相关问题