Адресует ли WCAG пустые/избыточные элементы?

#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. Как раз тот ответ, который я искал!