Семантика элемента header?

В спрашиваю раз говорю о «метафизике» — семантике HTML-верстки. Соответственно, все ответные вопросы «а зачем это нужно» имеют один ответ — just for fun.


Согласно текущей спецификации HTML5, элемент header представляет собой группу элементов вводного или навигационного значения. Как правило, он содержит заголовок раздела (section), но также может содержать другие элементы, такие как содержание, форму поиска или относящиеся к содержимому логотипы.


На практике элемент используется как для озаглавливания какого-либо раздела страницы, так и для всей страницы сразу. Иными словами, шапку сайта часто выностян в независимый header. Также, в него часто помещают навигационный кусок сайта, обернутый в элемент nav. Это всё не является ошибками с точки зрения семантики.


Однако, если в шапке сайта требуется разместить еще какую-либо информацию, кроме заголовка страницы и навигации, то можем ли мы для неё использовать элемент section? Например:

<header>
  <h1>Название сайта</h1>
  <nav>
    <h1>Навигация</h1>
    ...
  </nav>
  <section>
    <h1>Контактная информация</h1>
    ...
  </section>
</header>


Иными словами, вопрос заключается в следующем — может ли header содержать в себе section?
  • Вопрос задан
  • 5141 просмотр
Решения вопроса 1
Borodean
@Borodean Автор вопроса
Найден пример в текущей спецификации HTML5, который косвенно указывает на возможность такой верстки:

<footer>
  <nav>
    <section>
    <h1>Articles</h1>
      <p><img src="somersaults.jpeg" alt=""> Go to the gym with
      our somersaults class! Our teacher Jim takes you through the paces
      in this two-part article. <a href="articles/somersaults/1">Part
      1</a> · <a href="articles/somersaults/1">Part 2</a></p>
      <p><img src="kindplus.jpeg"> Tired of walking on the edge of
      a clif<!-- sic -->? Our guest writer Lara shows you how to bumble
      your way through the bars. <a href="articles/kindplus/1">Read
      more...</a></p>
      <p><img src="crisps.jpeg"> The chips are down, now all
      that's left is a potato. What can you do with it? <a
      href="articles/crisps/1">Read more...</a></p>
    </section>
    <ul>
      <li> <a href="/about">About us...</a>
      <li> <a href="/feedback">Send feedback!</a>
      <li> <a href="/sitemap">Sitemap</a>
    </ul>
  </nav>
  <p><small>Copyright © 2015 The Snacker —
  <a href="/tos">Terms of Service</a></small></p>
</footer>


Тут речь идет об элементе footer; семантически, он имеет смысл, практически аналогичный элементу header.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
k12th
@k12th
console.log(`You're pulling my leg, right?`);
гм, а если прогнать этот код через валидатор? Если он ругнется на этот section, значит, не может:)
Ответ написан
@Kane
Я думаю что так делать не стоит. «A general rule is that the section element is appropriate only if the element's contents would be listed explicitly in the document's outline.», — developers.whatwg.org/sections.html#the-section-element
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы