Тег <Header> HTML5 внутри div

просто интересно, неуместно ли размещать тег <header> внутри тега div при создании сайта, который в основном использует элементы html5, а doctype - для html5? Спасибо!

Кроме того, следует ли размещать Nav вне заголовка или внутри, или это действительно имеет значение?

Ответ 1

Нет, не строго, но есть некоторые контекстуальные семантики, которые подразумеваются вложением header под элементами, отличными от тела. В зависимости от того, как вы структурируете документ, вы можете столкнуться с неожиданным поведением. См. Ниже.

HTML5, насколько я могу судить, является типом документа с типом DTD. Это не относится к строгим правилам, поскольку оно относится к проверке структуры документа. Согласно документу W3C на HTML5:

Элемент

... header представляет собой вводный контент для его ближайшего раздела или фрагментации корневого элемента. Заголовок обычно содержит группу вводных или навигационных средств. [1]

В основном, это указывает на то, что если элемент header находится непосредственно под body документа, он применяется к странице в целом, но если она содержится в другом элементе, который идентифицирует раздел, header применяется более конкретно к ближайшему предку.

Имейте в виду, что <div> не является элементом секционирования, указанным Томашем Зелинским. Первоначально я думал, что это так. Если вы хотите, чтобы ваш заголовок применялся только к определенному разделу страницы, лучше всего использовать один из определенных элементов секционирования для включения заголовка, как определено здесь: http://www.w3.org/TR/html5/sections.html

например.

<div>
  <section>
    <header>...</header>
  </section>
</div>

Ответ 3

Нет, если вы уважаете семантику содержимого и что заголовок содержит информацию заголовка. Вы можете обернуть его в div без каких-либо недостатков SEO.