Aria-hidden не работает с кнопками в Firefox и JAWS

<a href="#" role="button" >
    	<span aria-hidden="true"> First</span>
    	<img src="D:/kk.JPG" alt="First name" width="20px" height="20px"/>
</a>

JAWS читает его как First First name button вместо First name button.

Это проблема Firefox? Как решить эту проблему без использования aria-label для внешнего тега привязки.


person KannarKK    schedule 03.12.2015    source источник


Ответы (1)


Проблема здесь в том, что JAWS не учитывает сам этот элемент, а использует его при расчете текстовой альтернативы для ссылки.

Чтобы решить эту проблему, вы можете попробовать удалить лишний текст из альтернативного имени img.

Я бы сделал предположение об уместности изображения alt здесь, поскольку оно находится внутри ссылки с другим текстом, поэтому вам нужно описывать не изображение, а цель ссылки.

Конечно, если бы вы этого не сказали, я бы предложил использовать aria-label.

См. следующую страницу: webaim.org/blog/alt-text-and-linked. -images В приведенном выше примере, поскольку текст внутри ссылки обеспечивает содержание изображения и функцию ссылки, самому изображению может быть присвоено пустое значение alt. Изображение внутри ссылки — это что-то очень специфическое: вам не нужно рассматривать альтернативу изображения, а альтернативу ссылке.

Согласно WCAG, когда изображение является единственным элементом внутри ссылки, оно должно описывать цель ссылки. Когда вы используете aria-hidden=true для единственного другого элемента, вы попадаете в эту ситуацию. Как следствие: альт для этого изображения должен описывать цель ссылки, и вы должны забыть об описании изображения. При этом, поскольку это не работает в Jaws/Firefox, если вы можете удалить лишнюю часть, это лучший вариант.

person Adam    schedule 03.12.2015
comment
Эм. Я не могу удалить alt текст, так как удаление нарушает стандарты доступности. Изображение должно иметь текст ALT. Причина, по которой меня не особенно интересует aria-label, заключается в том, что это уже работает в IE и Chrome, но не в Firefox. - person KannarKK; 03.12.2015
comment
См. следующую страницу: webaim.org/blog/alt-text-and- linked-images В приведенном выше примере, поскольку текст внутри ссылки обеспечивает содержание изображения и функцию ссылки, самому изображению может быть присвоено пустое значение alt. Изображение внутри ссылки есть что-то очень специфическое: вам не нужно рассматривать альтернативу изображения, а альтернативу ссылке. - person Adam; 03.12.2015
comment
только если текст ссылки внутри является эквивалентной альтернативой. Но так должно быть не всегда. - person KannarKK; 03.12.2015
comment
Согласно WCAG, когда изображение является единственным элементом внутри ссылки, оно должно описывать цель ссылки. Когда вы используете aria-hidden=true для единственного другого элемента, вы попадаете в эту ситуацию. Как следствие: alt для этого изображения должно описывать цель ссылки, и вы должны забыть об описании изображения. При этом, поскольку это не работает в Jaws/Firefox, если вы можете удалить лишнюю часть, это лучший вариант. - person Adam; 04.12.2015
comment
Это ошибка в JAWS с Firefox. Надеюсь, JAWS скоро это исправит. - person KannarKK; 04.12.2015
comment
МОЖЕТ быть ошибка в вычислении доступного имени в Firefox. Но я подтверждаю, что согласно Text Alternative Computation (w3.org/TR/wai- aria/roles#textalternativecomputation_header), следует пропустить aria-hidden (w3 .org/TR/wai-aria/terms#def_hidden). - person Adam; 04.12.2015