HTML5 semantic elements give meaning to structure: header, nav, main, article, section, aside, and footer. Screen readers and search engines use these to understand pages. Prefer semantic elements over generic divs.
Semantic Elements
<header> Site header, logo, nav</header>
<nav> Navigation links</nav>
<main> Main content (one per page)</main>
<article> Self-contained content (blog post)</article>
<section> Thematic group of content</section>
<aside> Sidebar content</aside>
<footer> Page or section footer</footer>
<figure> Image + caption
<figcaption>Image caption</figcaption>
</figure>