html5: using header or footer tag twice?

74,730

Solution 1

Yes, but with a catch. The W3 documents state that the tags represent the header and footer areas of their nearest ancestor section. I would recommend having as many as your want, but only 1 of each for each "section" of your page, i.e. body, section etc.

From W3

A header element is intended to usually contain the section's heading (an h1–h6 element or an hgroup element), but this is not required. The header element can also be used to wrap a section's table of contents, a search form, or any relevant logos.

=========================

The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.

Here are links to their respective standard documentation: header and footer

Solution 2

Yes you can use multiple header elements in your documents, by virtue of the w3c documentation:

A header element is intended to usually contain the section's heading (an h1–h6 element or an hgroup element), but this is not required. The header element can also be used to wrap a section's table of contents, a search form, or any relevant logos.

However ensure that it is semantically correct.

Solution 3

There's no penalty for using two header tags, but make sure it makes sense.

Happy coding!

Solution 4

The <header> is used to mark the header of e.g. articles in newspaper, so if you have multiple articles you can use multiple <header>.

It's like using multiple <h1>. It does only make sense in some special case.

Solution 5

In some situation, it is posible put two <header> in single <article>/<section> like this, so why not.

 <article>

      <!-- Feature Image on the LEFT -->
      <div class="position-left">
         ...featrue image...
        <header>
        ...H1 title ...  
        </header>
      </div>

      <!-- Content on the RIGHT with subtitle, date, etc -->
      <div class="position-right">
        <header>
          ..date, sub-title, etc...
        </header>
        ...content...
        <footer>..</footer>
      </div>

    </article>
Share:
74,730
matt
Author by

matt

Updated on September 08, 2020

Comments

  • matt
    matt almost 4 years

    quick question: is it actually allowed to use the header tag twice? e.g. i have two important head-sections in my header.php where both could have header tag?

  • user1855153
    user1855153 over 10 years
    If I do this, the header would englobe all my sections, >> I don't think this is want we want... ;) You can have a header and a footer per section.
  • unor
    unor over 10 years
    I don’t agree with your catch. It’s still valid (and can also make sense) to have several header elements in one sectioning content/root element.
  • Cyril Duchon-Doris
    Cyril Duchon-Doris over 7 years
    What about nested sections and (therefore) nested headers in sections ? <section> <header><h1>...<h1></header> <section class="subsection"> <header class="subsection-header"><h2>...</h2> </header> </section> </section>
  • Daniel Tonon
    Daniel Tonon about 6 years
    @Cyril Duchon-Doris, No a <header> element can not be a descendent of another <header> element. "Permitted parents: Any element that accepts flow content. Note that a <header> element must not be a descendant of an <address>, <footer> or another <header> element." - developer.mozilla.org/en-US/docs/Web/HTML/Element/header
  • Daniel Tonon
    Daniel Tonon about 6 years
    FYI, there are 5 types of "sectioning" elements: <body>, <nav>, <section>, <article>, and <aside>. Each sectioning element can only have one <header> and one <footer> associated with it. It doesn't make sense for a section to have more than one header or footer.
  • funct7
    funct7 over 4 years
    @DanielTonon 1. <body> is NOT a section element according to this page. 2. Unless there is explicit documentation that only one <header> and one <footer> is permitted per section element, it's just your opinion. Please don't state like it's a rule.
  • Daniel Tonon
    Daniel Tonon over 4 years
    Ok yeah, <body> isn't a "sectioning element", but it does form the default document section and is categorised as a "sectioning root" element which makes it very similar to a sectioning element in how it behaves. I did miss speak when I said that it "is" a sectioning element though.
  • Volper
    Volper over 4 years
    Why wouldn't you make these <div>s <article>s or <section>s then?