2010-11-04 2 views
5

У меня есть JSF фрагмент кода:JSF2 игнорирует пустые альт атрибут

<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 страницу Whithout пустой атрибут альт в IMG элемента:

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

В результате мой документ имеет ошибку проверки (

Как я могу решить эту проблему?

+2

Присвоить значение атрибута альт. В чем преимущество прохождения тестов V3C vlidation, фактически не имея доступа к доступности. –

+1

У него могут быть изображения, которые нужно пропустить читателями экрана. – akostadinov

+1

Я знаю, что этот вопрос довольно старый, но я просто хотел указать, что пустые теги alt на самом деле доступны. Тег alt может быть пустым, если рассматриваемое изображение описывается в текущем контексте и не обеспечивает взаимодействия с пользователем. см. http://webaim.org/techniques/alttext/#context – gerges

ответ

1

Вы можете использовать JSF г 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>