Since the HTML5 specification is not yet final, we can expect changes to improve on the good bits and cut out the bad bits. aside
— a misunderstood good bit — has now been tweaked based on feedback from the web development community. In this article, we’ll take a look at what’s changed.
Aside redefined
When we previously discussed aside
in “Understanding Aside“, its definition suggested that it should be used for content tangentially related to the content surrounding it, such as related reading links and glossaries. It did not appear to be an appropriate element for holding secondary content related to the site as a whole, typically known as a “sidebar”.
From the comments here and elsewhere, you can see this definition was not accepted by developers. The spec writers listened, and aside
is now acceptable for secondary content when not nested within an article
element.
Examples of aside
in two different contexts
With the new definition of aside
, it’s crucial to remain aware of its context. When used within an article
element, the contents should be specifically related to that article (e.g., a glossary). When used outside of an article
element, the contents should be related to the site (e.g., a blogroll, groups of additional navigation, and even advertising if that content is related to the page).
The two uses of aside
can be best illustrated with an example:
<body>
<header>
<h1>My Blog</h1>
</header>
<article>
<h1>My Blog Post</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<aside>
<!-- Since this aside is contained within an article, a parser
should understand that the content of this aside is directly related
to the article itself. -->
<h1>Glossary</h1>
<dl>
<dt>Lorem</dt>
<dd>ipsum dolor sit amet</dd>
</dl>
</aside>
</article>
<aside>
<!-- This aside is outside of the article. Its content is related
to the page, but not as closely related to the above article -->
<h2>Blogroll</h2>
<ul>
<li><a href="#">My Friend</a></li>
<li><a href="#">My Other Friend</a></li>
<li><a href="#">My Best Friend</a></li>
</ul>
</aside>
</body>
Conclusion
The aside
element can now represent secondary content when used outside of an article
. Keep in mind that aside
— and, more generally, secondary content — does not necessarily mean “sidebar”. The style of the content should not dictate the use of the element. For content that is not the primary focus of an article (or page) but is still related to the article (or page), aside
is what you need, regardless of its visual design.
Aside Revisited originally appeared on HTML5 Doctor on October 28, 2009.