Почему я не могу использовать атрибут role="navigation" в HTML-теге nav?
2 ответа
<nav role="navigation">
избыточно, поэтому не рекомендуется. В течение переходных периодов для некоторых элементов рекомендуется использовать как [role]
атрибут в дополнение к новому тегу, но только до тех пор, пока браузеры не поддерживают неявную семантику для нового тега.
Это чаще всего наблюдается с <main role="main">
который был более поздним дополнением к HTML.
В конце концов, валидатор w3c не говорит, что вы не можете использовать избыточную разметку, он просто предупреждает вас, что это лишнее и ненужное.
Например, проверка:
<!doctype html>
<title>example</title>
<nav role="navigation"></nav>
Выдает следующее предупреждение:
Предупреждение: элемент навигации не нуждается в атрибуте роли.
Если бы это была неверная разметка, вы бы получили ошибку.
Поскольку роль ="навигация" является необязательной, и только для пользовательских агентов, поддерживающих ARIA.
В этом примере страница включает верхний раздел навигации, в котором не используется роль навигации ARIA, и навигацию внизу страницы, которая использует. Роль навигации рекомендуется с сентября 2014 года, но в какой-то момент в будущем может не понадобиться.