Full Stack Radio

A podcast for developers interested in building great software products. Every episode, Adam Wathan is joined by a guest to talk about everything from product design and user experience to unit testing and system administration.



episode 118: 118: Aaron Gustafson - Semantic HTML: The Hard Parts

In this episode, Adam talks to Aaron Gustafson about authoring semantic HTML in the context of web applications, where choosing the right element can be a lot more complicated than it seems.

Topics include:

  • Can you have more than one "h1" on page?
  • How important is heading order?
  • Why not everything that looks like a heading should necessarily be a heading
  • Why you may want to include invisible headings in some situations
  • What the document outline is and how your use of headings impacts it
  • How to make your heading levels dynamic to make your components more flexible
  • What a "sectioning context" is
  • Can you have multiple "article" elements on one page?
  • What even is an "article" anyways?
  • How to use elements like "section" and "aside" properly
  • Should navigation items be in lists?
  • Why Aaron can't remember the last time he used a "span"


  • DigitalOcean, get your free $50 credit at do.co/fullstack
  • Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free


  • Aaron's personal website
  • HTML5 Element Flowchart from html5 Doctor


 2019-07-03  1h9m