| <header> | Contains introductory and / or navigational content. <header> may be used multiple times on a page, and have multiple contexts: for example, <header> may be used immediately after the opening <body> tag to contain the main banner and navigation of the site, and could be used again inside a <section> or <article> to introduce new content.
A <header> will usually appear at the top of the page, but it doesn’t have to: its position and appearance are determined by CSS.
Important note: <header> should not be confused with <head>. Nor is <header> a heading element, like <h1> - <h6>. It is most akin to a masthead.
|
| <footer> | Contains closing, summary information about its parent element. Again, we should have multiple footers in the page, inside both <section> and <article> tags. They do not have to appear at the bottom of the page. A <footer> inside the body might contain copyright information, but a footer inside a blog post <article> tag would typically contain an author byline or related information. |
| <aside> | Probably the most poorly named of the new tags (an aside is a stage direction or a type of dialogue), <aside> is meant to contain tangentially related information about the document. Asides could be pull quotes, a colophon, or other information. Asides are most akin to a sidebar, but they are not restricted to any particular position on the page. |
| <nav> | Intended for major site navigation containing a series of links. In HTML5, this replaces the unordered list navigation structure we were using previously. |
| <section> | A container for a group of related content. A successor to the generic <div> tag, although <div> still exists in HTML5. |
| <article> | A grouping of self-contained content, such as a blog post. New developers tend to get confused between <section> and <article>: the difference is the emphasis on self-containment. If content could be understood by itself, with no external context required – if it could be taken out an published in an RSS feed, for example – it is an article. Otherwise, <section> or another container element is more appropriate. Adding to the confusion is the fact that articles could also be widgets, or web applications, such as calculators, weather reports, etc. Again, the emphasis is on self-containment: an <article> containing a weather report for Auckland, New Zealand could be moved from one site to another without requiring any additional content or explanation of context. Also note that an <article> nested inside another <article> is, by definition, assumed to be a comment on the parent <article>. |
| <time> | Marks up a known time, date, or period. Should include more precise time information as a datetime attribute value. May use the pubdate attribute to clarify that the date is the publication date/time for an article or page. |
| <figure> | Designed to mark up diagrams, illustrations, photos, code samples, etc. May contain an optional <figcaption> element. Replaces the definition list approach for captioned images we used in XHTML. |
| <details> | Perhaps best thought of as an in-body meta tag for individual pieces of content. Like meta tags, <details> is not immediately visible to the user by default; unlike meta tags, <detail> is written inside the <body> of the document, not the <head>. A typical use for <detail> might be inside an article, as the default content for an RSS feed or a way for search engines to summarize what each article about. A Dublin Core description meta tag summarizes the entire document; individual <details> tags (containing <summary> elements) may help summarize each piece of content. |
| <summary> | The summary for a particular piece of content. Must be the first child immediately inside a <details> element. |