TaskBuild a blog page. <main> with an <article> containing h1 'TypeScript' and p 'Main argument'. Inside the article, add an <aside> with h2 'See also' and p 'Other reading'.
<aside>: sidebars, callouts, related
75 XP6 min
Theory
<aside> is for "related but not essential"
<main>
<article>
<h1>Why TypeScript wins</h1>
<p>The main argumentβ¦</p>
<aside>
<h2>Related reading</h2>
<ul>
<li><a href="/posts/case-against-ts">The case against TS</a></li>
</ul>
</aside>
</article>
</main>
<aside>
<h2>About the author</h2>
<p>β¦</p>
</aside>Two valid placements:
- Inside an article β content tangentially related to that specific article (a pull quote, related links, an author bio for THAT article).
- At the body level (sibling of
<main>) β a site-wide sidebar (recent posts, archive, ad slot, "About this site").
What <aside> is NOT
- It is not "anything on the side of the page." If your sidebar contains primary navigation, use
<nav>, not<aside>. - It is not for footnotes. Use
<details>+<summary>, or just an inline<sup>. - It is not styling-only. If you don't have content the user could skip without losing meaning, use
<div>instead.
Screen readers announce <aside> as "complementary landmark" β users with a sidebar that contains primary content (a common mistake) get told it's optional and skip it.
π
Sign up to start coding
Theory is open to everyone. The interactive editor, live preview, and check are unlocked with a 7-day free trial β card required, cancel anytime.
Sign up β free trial βFirst 10 lessons in each track are free. No card needed for those.