Для чего используется HTML-атрибут role? Для кого он указывается? Является ли он обязательным для HTML-элементов?
P. S. Вопрос «id, class и role к элементу» отвечает только на треть моего вопроса.
Данный атрибут используется для семантических тегов, которых появилось большое множество в HTML5.
Атрибут role, позволяет наиболее четко указать назначение блока/элемента страницы при взаимодействии пользователя с сайтом.
Данный атрибут - не обязательный и по большей части формальный.
Основные и наиболее часто используемые значения role:
banner - содержит главный заголовок или внутренний заголовок страницы. Например логотип и название сайта. Рекомендуется использовать не больше одного раза на странице.complementary - информационный блок, отделенный от основного содержания ресурса.contentinfo - обобщающая информация о содержании страницы ( к примеру футер сайта ). Рекомендуется использовать не больше одного раза на странице.definition - указывает определение термина или понятия.main - выступает в качестве основного содержания документа. Рекомендуется использовать не больше одного раза на странице.navigation - набор элементов предназначенных для навигации по документу или связанным документам. Рекомендуется использовать не больше одного раза на странице.note - заметка ( вспомогательная информация) к основному содержанию ресурса.search - указывает область для поиска по содержимому.Атрибут role с соответствующими значениями используется программами экранного доступа через речевой или тактильный вывод информации. Он задается не только для семантических элементов. Полный перечень значений для всех html-элементов вы можете найти на сайте w3.org
Продвижение своими сайтами как стратегия роста и независимости