问题
All examples I found on internet refers to using <h1>
inside <section>
, but nothing related to the use of <header>
element.
It's valid HTML5, but what about semantics?
Maybe I'm misusing the <section>
element, for the completeness here is my use case:
<main role="main">
<header>page header</header>
<section id="cookiesPolicy>
<header>
<h1>Cookies Policiy</h1>
</header>
<div>Bla bla bla bla bla bla bla</div>
</section>
<footer>page footer</footer>
</main>
回答1:
Yes it is semantically correct to use header
inside section
header – There is a crucial difference between the
header
element and the general accepted usage ofheader
(or masthead). There’s usually only oneheader
or ‘masthead’ in a page. In HTML5 you can have as many as you want. The spec defines it as “a group of introductory or navigational aids”. You can use aheader
in anysection
on your site. In fact, you probably should use aheader
within most of your sections. The spec describes thesection
element as “a thematic grouping of content, typically with a heading.”
Source
You can also check header
W3 specs here
回答2:
header
is:
introductory content for its nearest ancestor sectioning content or sectioning root element.
section
is a valid sectioning content, so header
is semantically correct - even encouraged - in this position.
Quote taken from this HTML5 Doctor page, which actually quotes the HTML5 spec directly.
来源:https://stackoverflow.com/questions/37121520/it-is-semantically-correct-to-use-header-inside-section