2015-04-02 74 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