2010-11-04 23 views
5

J'ai un extrait jsf:JSF2 ignore vide attribut 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> 

Mais quand je l'utilise, web-client obtenir la page HTML whithout vide alt attribut dans l'élément img:

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

Comme résultat mon document contient une erreur de validation (

Comment puis-je résoudre ce problème?

+2

attribuer une valeur à l'attribut alt. Quel est l'avantage de passer des tests de validation W3C sans réellement traiter de l'accessibilité. –

+1

Il pourrait avoir des images à sauter par les lecteurs d'écran – akostadinov

+1

Je sais que cette question est assez ancienne, mais je voulais juste souligner que les balises alt vides sont en réalité accessibile. Une balise alt peut être vide si l'image en question est décrite dans son contexte actuel et ne fournit aucune interaction de l'utilisateur. voir http://webaim.org/techniques/alttext/#context – gerges

Répondre

1

Vous pouvez utiliser le JSF g composant raphicImage, qui rend l'attribut alt vide.

Par exemple:

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

ou

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

Je ne sais pas si cela est un bogue dans JSF2 (JSF1.2 préserve les attributs vides). Pour 'solution' que JSF2, envelopper par le code f:verbatim, comme ceci:

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