Objective: Learn to organize and display information clearly using lists, tables, and semantic elements that improve structure, accessibility, and SEO.
Semantic HTML means using the right tag for the right purpose — describing meaning, not just appearance.
<div id="top">
<div id="nav">
<div id="main">
<div id="footer"><header>
<nav>
<main>
<footer>Benefits: Better accessibility, stronger SEO, and cleaner, more maintainable code.
<ul>)Items are shown with bullet points.
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul><ol>)Items are numbered automatically.
<ol>
<li>Plan the layout</li>
<li>Write the HTML</li>
<li>Style with CSS</li>
</ol><dl>)Definitions or key-value pairs.
<dl>
<dt>HTML</dt>
<dd>Defines the structure of a web page.</dd>
<dt>CSS</dt>
<dd>Controls the visual presentation.</dd>
</dl>💡 Lists are great for menus, features, and FAQs.
<ul>
<li>Frontend
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>
</li>
<li>Backend
<ul>
<li>PHP</li>
<li>MySQL</li>
</ul>
</li>
</ul>Tables present data in rows and columns — think schedules, pricing, or contact lists.
| Course | Duration | Level |
|---|---|---|
| HTML & CSS Foundations | 10 hours | Beginner |
| PHP Foundations | 12 hours | Intermediate |
| Tag | Description |
|---|---|
<table> | Defines the table |
<tr> | Table row |
<th> | Header cell (bold, announced as column header) |
<td> | Data cell |
<caption> | Table title |
<thead> | Header section |
<tbody> | Body section |
<tfoot> | Footer (summaries/totals) |
<table>
<caption>StreetGeek Academy Courses</caption>
<thead>
<tr>
<th>Course</th>
<th>Duration</th>
<th>Level</th>
</tr>
</thead>
<tbody>
<tr>
<td>HTML & CSS</td>
<td>10 hrs</td>
<td>Beginner</td>
</tr>
<tr>
<td>PHP Foundations</td>
<td>12 hrs</td>
<td>Intermediate</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3">All courses include a final project</td>
</tr>
</tfoot>
</table>💡 colspan="3" merges cells horizontally.
<header>
<h1>StreetGeek Academy</h1>
<nav>
<a href="index.html">Home</a>
<a href="courses.html">Courses</a>
<a href="contact.html">Contact</a>
</nav>
</header>
<main>
<article>
<h2>Latest Blog Post</h2>
<p>Learn how to code your first website with StreetGeek.</p>
</article>
<aside>
<h3>Related Topics</h3>
<ul>
<li>HTML Tips</li>
<li>CSS Basics</li>
<li>Web Hosting 101</li>
</ul>
</aside>
</main>
<footer>
<p>© 2025 StreetGeek Academy. All rights reserved.</p>
</footer>| Element | Use |
|---|---|
<header> | Top banner / site title |
<nav> | Menu or navigation links |
<main> | Main content area (unique per page) |
<article> | Independent, self-contained content |
<aside> | Sidebar / secondary info |
<footer> | Bottom section for copyright/links |
✅ <nav> vs <div class="nav"> — same look is possible, but the semantic element communicates intent.
✅ Exercise 1: Create a Resume Page
resume.html.<header> with your name and title.<main> include:<section>.<table>.<ul>).<footer> with contact info.<header>
<h1>Yogi Copeland</h1>
<p>WordPress Developer</p>
</header>
<main>
<section>
<h2>Experience</h2>
<table>
<thead><tr><th>Company</th><th>Role</th><th>Years</th></tr></thead>
<tbody>
<tr><td>SitesByYogi</td><td>Lead Developer</td><td>2020–Present</td></tr>
</tbody>
</table>
</section>
<section>
<h2>Skills</h2>
<ul>
<li>WordPress</li>
<li>PHP</li>
<li>JavaScript</li>
</ul>
</section>
</main>
<footer>
<p>Email: hello@sitesbyyogi.com</p>
</footer><th> and <td>?Create a “StreetGeek Course Catalog” page that includes:
<table> with at least 4 courses (name, duration, difficulty, description).<caption>, and proper <thead>, <tbody>, <tfoot>.<header>, <main>, and <footer>.<aside> promo box.<aside>
<h3>Join StreetGeek Academy!</h3>
<p>Learn HTML, CSS, and PHP at your own pace.</p>
</aside>Next up: 👉 MODULE 5: Introduction to CSS — style everything you’ve built so far.