When to Use the HTML5 'section' Element

A 'section' is the most generic of the five main content divisions

HTML 5 Logo

WC3

The new HTML5 section element can be somewhat confusing. If you've been building ​HTML documents before HTML5, chances are you are already using the element to create structural divisions within your pages and then style the pages with them. So it might seem like a natural thing to simply replace your existing DIV elements with section elements. But this is technically incorrect.

The 'section' Element Is a Semantic Element

The SECTION element is a semantic element; it provides meaning to both user agents and humans about what the enclosed content is — specifically, a section of the document.

This may seem like a very general description, and that's because it is. There are other HTML5 elements that provide more semantic distinctions to your content that you should use first before you use the section element:

  • Article
  • Aside
  • Nav

When to Use the 'section' Element

Use the article element when the content is an independent part of the site that can stand alone and be syndicated like an article or blog post. Use the aside element when the content is tangentially related to either the content of the page or the site itself, such as sidebars, annotations, footnotes, or associated site information. Use the nav element for content that supports site navigation.

The section element is a generic semantic element. Use it when none of the other semantic container elements are appropriate. It combines portions of your document into discrete units that you can describe as related in some way. If you can't describe the elements in the section in one or two sentences, then you probably shouldn't use the element.

Instead, you should use the DIV element. The DIV element in HTML5 is a non-semantic container element. If the content you are trying to combine doesn't have a semantic meaning, but you still need to combine it for styling, then the DIV element is the appropriate element to use.

How the 'section' Element Works

A section of your document can appear as the outer container for articles and aside elements. It can also contain content that isn't part of an article or aside. A section element can also be found inside an article, nav, or aside. You can even nest sections to indicate that one group of content is a section of another group of content that is a section of an article or the page as a whole.

The section element creates items inside an outline of the document. And as such, you should always have a header element (H1 through H6) as a part of the section. If you can't come up with a title for the section, the DIV element is probably more appropriate.

If you don't want the section title to appear on the page, you can always mask it with CSS.

When Not to Use the 'section' Element

There is one purpose for which you should not use the section element: for style only.

In other words, if the only reason you're putting an element in that place is to attach CSS style properties, you should not use a section element. Find a semantic element or use the DIV element instead.

Ultimately It May Not Matter

A difficulty in writing semantic HTML is that what is semantic to the browser may be utter nonsense to you. If you feel that you can justify using the section element in your documents, then you should use it. Most user agents don't care and will display the page as you might expect whether you style a DIV or a section.

For designers who like to be semantically correct, using the section element in a semantically valid way is important. For designers who just want their pages to work, that isn't as important. Writing semantically valid HTML is good practice and keeps the pages more future-proofed. But in the end, it's up to you.