По сути, элементы div
не требуются в семантическом смысле (может быть, они вам нужны для стилизации?).
div
- это элемент без семантики (как аналог для встроенных элементов span
), и вы должны использовать их там, где нет ничего лучше. Даже если вы дадите им некоторую семантику с ее атрибутом id
, эта семантика известна только вам, а не, например, любому поисковому движку в Интернете (google) или программе чтения с экрана (например, для слепых), потому что нет никаких определенных соглашений о id
или class
значениях.
Если вы используете header
, footer
и т. Д., Вы даете им семантику. Может быть, вы хотите увеличить их семантику, используя некоторое значение для атрибута role
.
Кстати, это section
, конечно, не нужно. Посмотрите, что люди из HTML5 Doctor говорят :
В HTML 5 вы можете специально разметить весь «вторичный» контент на
страница, такая как навигация, брендинг, уведомления об авторских правах, так что чувствует
странно, что вы не можете специально выделить наиболее важную часть
ваша страница - содержание.
Но с какой стати конкретно это делать?
Если вам нужно стилизовать его, используйте div. Вспомогательная технология, как
Screenreader может найти основной контент, потому что это первое
внутри страницы, которая не является верхним или нижним колонтитулом.
С <div role="main">
у вас есть все, что вам нужно.