Semantic HTML — HTML

Coba kasih kardus polos tanpa label ke tukang pindahan — dia harus buka satu-satu buat tau isinya apa. Kasih kardus yang ada label "DAPUR / PIRING / FRAGILE" —

Coba kasih kardus polos tanpa label ke tukang pindahan — dia harus buka satu-satu buat tau isinya apa. Kasih kardus yang ada label "DAPUR / PIRING / FRAGILE" — dia tau cara nanganin tanpa harus ngintip. Itu bedanya <div> (kardus polos) vs semantic HTML (kardus berlabel). <header>, <nav>, <main>, <article>, <aside>, <footer> — tag yang langsung ngasih makna tentang isinya. Bukan cuma tampilan — semantik nyata yang dibaca screen reader, search engine, dan developer lain yang ngelanjutin kode kamu.

💡 SEO + accessibility 2-in-1. Google ranking lebih tinggi halaman yang struktur semantik-nya jelas (mesin lebih ngerti konten). Screen reader pake landmark untuk navigasi cepat (user tunanetra bisa loncat langsung ke <main> skip nav). Dua keuntungan besar dari satu kebiasaan kecil — pakai tag semantik, bukan div soup.

Daftar Elemen Semantik

Tag-tag ini ganti <div> biasa supaya makna jelas:

<title id="semantic-t">Tata letak semantik: header di atas, main di tengah dengan article + aside, footer di bawah.</title><header>logo + <nav><main><article><h1> + <p>konten utama<aside>terkait<footer>
Screen reader pakai landmark ini untuk navigasi cepat. <div> tidak punya makna apa-apa.

Contoh struktur halaman semantik:

<header>
  <nav>
    <a href="/">Beranda</a>
    <a href="/tentang">Tentang</a>
  </nav>
</header>
<main>
  <article>
    <h1>Judul Artikel</h1>
    <p>Isi artikel...</p>
  </article>
  <aside>
    <p>Artikel terkait</p>
  </aside>
</main>
<footer>
  <p>&copy; 2024 Website Saya</p>
</footer>

🎭 Analogi sehari-hari

Semantic HTML = kardus pindahan dengan label ("DAPUR", "RUANG TAMU", "KAMAR"). Tukang bongkar (browser, screen reader, search engine) tahu isi cuma dari label. <div> = kardus polos tanpa label — harus tebak isi sendiri. <header>, <nav>, <main>, <footer> = kardus berlabel.

⚠️ Jebakan yang sering ditemui

TL;DR: Semantic HTML = tag yang ngasih makna, bukan cuma tampilan. <header>/<nav>/<main>/<article>/<aside>/<footer> ganti <div> polos. Untungnya 2-in-1: SEO Google lebih ngerti konten + screen reader bisa loncat antar landmark. <main> cuma 1 per halaman. <article> = konten mandiri, <section> = pengelompokan tematik (butuh heading). Jangan div soup.

Yang akan kamu pelajari