Product Name
Some description here.
Proper landmarks, headings, labels — what screen readers love
This page demonstrates proper semantic HTML. Compare with Demo 05 (Bad) to see the difference. Open Chrome DevTools → Elements → Accessibility to inspect.
<!-- ✅ Good: semantic header -->
<header>
<h1>Page Title</h1>
<button aria-label="Go to homepage">🏠</button>
</header> <header> for the banner. Start with <h1>. Add aria-label to icon-only buttons.
<!-- ✅ Good: semantic nav with real links -->
<nav aria-label="Main navigation">
<ul>
<li><a href="/products">View our products</a></li>
<li><a href="/about">About the company</a></li>
</ul>
</nav> <nav> with aria-label. Real <a href> links, not spans. Descriptive text, not "Click here".
<!-- ✅ Good: proper heading hierarchy -->
<h1>Page Title</h1>
<h2>Section</h2>
<h3>Subsection</h3> Some description here.
<!-- ✅ Good: semantic article -->
<article>
<img src="..." alt="Green laptop">
<h3>Product Name</h3>
<p>Description</p>
<button>Add to cart</button>
</article> <article> for cards. Image has alt. Title is a heading. Button is a real <button>.
<!-- ✅ Good: form with labels -->
<label for="name">Your name</label>
<input id="name" type="text">
<button type="submit">Send message</button> <label for="id">. Placeholders are NOT labels. Submit is a real <button>.
<!-- ✅ Good: semantic footer -->
<footer>
<p>Copyright info</p>
</footer> <footer> for the content info landmark.
This is what assistive technologies see (clear structure!):