Ссылки в примере кода имеют как содержательный текст ссылки (хотя доменные имена должны быть заменены именами сайтов), так и атрибуты aria-label
.Как объясняется в WCAG Technique ARIA8 , aria-label
действительно только для ситуаций, когда текст ссылки не может (или не дает) содержательного описания цели ссылки:
Цель этого метода - описать назначение ссылки с помощью атрибута aria-label.Атрибут aria-label обеспечивает способ размещения описательной текстовой метки на объекте, такой как ссылка, когда на странице нет видимых элементов, описывающих объект.(...)
Кроме того, принцип 2: ARIA может скрывать и улучшать, создавая мощь и опасность в WAI-ARIA Authoring Practices 1.1 указывает, что ARIAиногда переопределяет исходную семантику или контент, используя aria-label
в качестве примера.
Ссылка в приведенном примере кода имеет значения aria-label
, которые читают "Twitter3", "Twitter5", "Twitter4" и т. Д., И я ожидаю, что программы чтения с экрана будут читать вместо текст ссылки, создавая тем самым недоступный опыт.Поэтому в этом случае атрибуты aria-label
должны быть удалены.
Как и Патрик Лоук и многие другие эксперты по доступности отметили:
первое правило клуба ARIA - вы не используете ARIA
При правильном тексте ссылки и без атрибутов aria-label
проблема должна исчезнуть.(Это было сделано, когда я тестировал его по HTTP.) Если Lighthouse по-прежнему жалуется на это, вам может потребоваться очистить кэш браузера и / или очистить хранилище (см. Флажок над кнопкой «Запустить аудит» в Lighthouse).Я не могу воспроизвести проблему после обновления текстов ссылок и удаления атрибутов aria-label
.
Примечание: для официальной формулировки "первого правила клуба ARIA" см. W3C Используя ARIA , который на момент написания статьи является рабочим проектом:
Если вы можете использовать собственный элемент HTML [HTML51] илиатрибут с требуемой семантикой и поведением , уже встроенный в , вместо повторного выбора элемента и добавления роли, состояния или свойства ARIA, чтобы сделать его доступным, , а затем сделать .