2010-11-04 62 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>