Skip to main content
← πŸ“„ HTML & the platformΒ·Module A2 Β· Lesson 5
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.

← PreviousNext lesson β†’

Get one Python or web tip a day β€” by email

Short, hand-written, no spam. Unsubscribe in one click.