2010-11-04 69 views
5

我有一個JSF片段:JSF2忽略空的alt屬性

<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"> 
<!-- Yandex.Metrika --> 
<img src="//mc.yandex.ru/watch/xxx" alt=""/> 
<!-- /Yandex.Metrika --> 
</ui:composition> 

但是當我使用它,網絡客戶端獲得HTML頁面內部消除在img元素空alt屬性:

<!-- Yandex.Metrika --> 
<img src="//mc.yandex.ru/watch/xxx" /> 
<!-- /Yandex.Metrika --> 

至於結果我的文檔中有驗證錯誤(

我該如何解決這個問題呢?

+2

分配一個值到alt屬性。通過W3C vlidation測試而沒有實際處理可訪問性的好處是什麼? – 2010-11-04 13:07:56

+1

他可能會讓圖片被屏幕閱讀器跳過 – akostadinov 2013-03-12 10:02:04

+1

我知道這個問題已經過時了,但我只想指出空白的alt標籤實際上是可訪問的。如果所討論的圖像在其當前上下文中描述並且不提供任何用戶交互,則alt標籤可以是空的。請參閱http://webaim.org/techniques/alttext/#context – gerges 2013-04-16 19:07:52

回答

1

你可以使用JSF g^raphicImage組件,它確實呈現空白的alt屬性。

例如:

<h:graphicImage value="#{resource['images:image1.png']}" alt="" /> 

<h:graphicImage value="http://somedomain.com/somecontext/xxx/image1.png" alt="" /> 
0

不知道這是在JSF2(JSF1.2保留空屬性)中的錯誤。 要「處理方法」,在JSF2,通過f:verbatim包裹代碼,如下所示:

<f:verbatim> 
    <img src="//mc.yandex.ru/watch/xxx" alt=""/> 
</f:verbatim>