#accessibility #wcag #wcag2.0
Вопрос:
Иногда в ходе аудита доступности я сталкиваюсь с <p>
тегом без какого-либо содержимого внутри него. Программа чтения с экрана будет считывать «пусто», тратя мое время и время любого инвалида на просмотр веб-сайта.
Существует также считывание избыточных элементов, таких как «разделитель», когда я передаю <hr>
тег.
Я знаю, что эти вещи уменьшают доступный опыт. Но считаются ли они нарушением стандарта WCAG? Если да, то по каким критериям? Эта тема вообще рассматривается в стандарте?
Комментарии:
1. Пустой
<p>
тег считывается? Это необычно, вы уверены, что там нет скрытого персонажа? Заголовки, ссылки и т.д. Не должны быть пустыми, но<p>
тег может быть пустым. Если это неизбежно, вы можете просто добавитьaria-hidden="true"
в пустые абзацы, какую программу чтения с экрана вы используете?2. @GrahamRitchie да. На нем написано «пусто». Я использую NVDA на иврите.
3. Строго говоря
<hr>
, несет в себе некоторый смысл (в HTML5 он определяется как «тематический разрыв»), и поэтому, если тег был выбран соответствующим образом в первую очередь, он должен быть объявлен. «Бессмысленная» горизонтальная линия должна быть сделана с помощью CSS. Вместоaria-hidden
этого вы также можете использоватьrole="none"
.
Ответ №1:
Пустые абзацы, разделители, промежутки и т. Д. Определенно раздражают пользователей вспомогательных технологий, и их рекомендуется удалять, но они не являются ошибкой WCAG.
Насколько мне известно, единственными пустыми элементами, которые могут вызвать сбой WCAG, являются:
- заголовок — элемент заголовка должен описывать назначение страницы (S. C. 2.4.2 Уровень A)
- метки — метка формы, связанная с полем ввода, не должна быть пустой (S. C. 3.3.2 Уровень AA)
- заголовок — элементы заголовка (h1-h6) не требуются, однако, если элемент заголовка присутствует, он должен содержать текст, описывающий содержимое (S. C. 2.4.6. Уровень AA)
- таблица — если элементы таблицы используются для табличных данных, она должна содержать элементы tr, td и th (S. C. 1.3.1. Уровень A).
- заголовок таблицы — элементы заголовка таблицы (th) необходимы для отображения табличных данных. Хотя нет ограничений на пустые ячейки таблицы (td), заголовки таблиц могут быть не пустыми (S. C. 1.3.1. Уровень A).
- списки — элементы списка (ul, ol, dl) должны содержать элементы списка в качестве дочерних элементов. (S. C. 1.3.1. Уровень А)
- ссылки — элементы привязки (a) должны иметь допустимое значение href и программно различимый текст, как определено алгоритмом вычисления доступного имени (уровень A WCAG 4.1.2).
Есть еще много вещей, которые потерпят неудачу без необходимых атрибутов, но это кажется немного выходящим за рамки вопроса.
Комментарии:
1. Как раз тот ответ, который я искал!