Ответ 1
В соответствии с HTML5 Doctor они эквивалентны. <main>
просто упрощает и упрощает реализацию role="main"
.
Основная цель состоит в том, чтобы сопоставить главную роль ARIAs main с элементом HTML.
Вот общее описание элемента <main>
.
Элемент
main
представляет основное содержимоеbody
документа или приложения. Основная область содержимого состоит из содержимого, которое напрямую связано или распространяется на центральную тему документа или центральную функциональность приложения.
Рекомендация
Рекомендуется использовать как <main>
, так и role="main"
в том же элементе, пока браузеры не будут правильно реализовывать <main>
.
<!-- Recommended -->
<main role="main">
...
</main>
Обязательно прочитайте <main>
spec, если вам интересно.
Примечание по разделению
Как указывает Szabolcs в комментариях, <main>
не является элементом секционирования, поэтому его следует использовать в сочетании с элементом <section>
.