Ошибка аудита доступности, когда у элемента ol есть роль

Когда вы проводите аудит доступности в Google Chrome с такими сайтами, как https://stackoverflow.com, вы заметите ошибку, с которой я сталкиваюсь на своем собственном веб-сайте.

List items (<li>) are not contained within <ul> or <ol> parent elements.

В случае https://stackoverflow.com HTML с ошибкой выглядит так.

<ol class = "list-reset grid gs4" role = "presentation">
                <li class = "grid--cell">
                ...

Когда у меня возникла эта ошибка на моем веб-сайте, я удалил атрибут роли, и ошибка исчезла.

У меня есть один простой вопрос. Почему?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
1 102
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

List items (<li>) are not contained within <ul> or <ol> parent elements.

Это сообщение об ошибке не является явным.

Неявная роль элементов ol и ullist. Неявная роль элементов lilistitem.

В документах ARIA говорится:

Authors MUST ensure elements with role listitem are contained in, or owned by, an element with the role list or group.

Если вы переопределяете нативную роль элементов ol, вы больше не соблюдаете спецификации ARIA (но все еще соблюдаете спецификации HTML).

Просто удалите роль presentation у элемента ol или не используйте элементы списка.

Я понимаю, что мое замешательство произошло из-за непонимания атрибута роли. Спасибо, что прояснили это

Michael Warner 27.06.2019 12:54

Да, роли не каскадируются, поэтому, если вы хотите, чтобы список был чисто презентационным, вам нужно поставить role = "presentation" на список и элементы списка.

brennanyoung 27.06.2019 15:01

Другие вопросы по теме