edubun
Bahasa Indonesia

Struktur halaman yang semantik

Sebagian besar halaman punya bentuk kasar yang sama: kepala, menu, konten utama, dan kaki. HTML punya elemen untuk masing-masing, dan pembaca layar memungkinkan pengguna langsung melompat ke sana.

Dari tumpukan div ke landmark

Bertahun-tahun, halaman dibangun dari elemen <div> dengan nama class seperti header atau menu. <div> adalah kotak umum tanpa makna sama sekali, jadi nama class satu-satunya petunjuk, dan hanya orang yang membaca kode yang bisa melihatnya. Kini HTML punya elemen yang menyatakan apa setiap wilayah itu. Browser, mesin pencari, dan teknologi bantu memahaminya, dan pengguna pembaca layar bisa membuka daftar wilayah ini, yang disebut landmark, lalu melompat ke yang mereka inginkan, sama seperti pengguna yang melihat sekilas tata letaknya.

Bentuk halaman yang umum. Hanya labelnya yang standar; posisinya berasal dari CSS dan bisa berubah di ponsel.

Wilayah-wilayah utama

  • <header>: konten pembuka, biasanya nama situs atau logo dan sering kali menu utama. Sebuah artikel juga bisa punya header sendiri.
  • <nav>: blok tautan navigasi utama, seperti menu situs atau daftar isi. Tidak setiap kelompok tautan memerlukannya.
  • <main>: konten yang khas untuk halaman ini. Pakai tepat satu <main> yang terlihat per halaman, dan jangan menaruhnya di dalam header, nav, aside, atau footer.
  • <article>: potongan mandiri yang tetap bermakna dengan sendirinya, seperti tulisan blog, berita, atau kartu produk.
  • <section>: bagian bertema dari halaman atau artikel, biasanya dengan judulnya sendiri.
  • <aside>: konten yang berkaitan dengan konten utama tetapi terpisah darinya, seperti bilah samping, kotak glosarium, atau tautan terkait.
  • <footer>: informasi penutup seperti penulis, hak cipta, dan tautan kontak.

Elemen-elemen ini menggambarkan makna, bukan posisi. <nav> tidak harus berada di atas, dan <aside> tidak harus di kanan; di ponsel aside biasanya berakhir di bawah konten utama. Posisi berasal dari CSS. Pilih elemen dengan bertanya apa kontennya, sama seperti kamu memilih tingkat judul menurut struktur, bukan ukuran.

article atau section?

Pertanyaannya adalah apakah potongan itu tetap bermakna dengan sendirinya di tempat lain, misalnya di aplikasi pembaca berita atau dibagikan sebagai tautan. Kalau ya, itu <article>. Kalau hanya bermakna sebagai bagian dari sesuatu yang lebih besar, seperti bagian Bahan pada resep, itu <section>. Keduanya biasanya diawali judul. Article bisa memuat section, dan section bisa memuat article, misalnya bagian Tulisan terbaru yang berisi beberapa kartu tulisan.

div dan span masih punya tempat

Kalau tidak ada elemen yang cocok, pakai <div> untuk blok dan <span> untuk beberapa kata di dalam baris. Keduanya berguna sebagai pengait untuk CSS, misalnya <div class="cards"> yang menata kartu-kartu dalam kisi. Aturannya: raih elemen yang bermakna lebih dulu, dan kembali ke elemen umum hanya jika tidak ada yang menggambarkan kontennya. Halaman yang hanya terdiri atas div tetap berfungsi, tetapi menyembunyikan strukturnya dari semua orang yang tidak melihat kodenya.

Uji cepat: buka halamanmu dengan CSS dimatikan, atau baca kerangka judul dan landmark yang ditampilkan ekstensi browser. Kalau halaman masih terbaca dengan urutan yang masuk akal, dengan kepala, menu, konten utama, dan kaki yang jelas, strukturnya sudah bekerja.

Elemen bawaan sebelum ARIA

Kamu mungkin menjumpai atribut role, bagian dari standar W3C bernama WAI-ARIA, yang ditulis seperti <div role="navigation">. Atribut ini memberi elemen umum makna bagi teknologi bantu. Panduan W3C tentang penggunaan ARIA diawali aturan sederhana: kalau elemen HTML bawaan sudah punya makna yang kamu perlukan, pakai elemen itu. <nav> lebih pendek, berfungsi di mana-mana, dan tidak mungkin terlupa di satu tempat tetapi diingat di tempat lain. Gagasan yang sama berlaku untuk tombol: <button> sungguhan bisa difokuskan dengan Tab dan ditekan dengan Enter atau Space tanpa usaha tambahan, sedangkan <div> yang bisa diklik memerlukan kode tambahan untuk melakukan hal yang sama.

headerKonten pembuka: nama situs, logo, sering kali menu
navTautan navigasi utama
mainKonten yang khas untuk halaman ini; satu per halaman
articlePotongan mandiri yang bermakna dengan sendirinya
sectionBagian bertema, biasanya dengan judul
asideKonten yang berkaitan tetapi terpisah, seperti bilah samping
footerInformasi penutup: penulis, hak cipta, kontak
landmarkWilayah halaman yang bisa dituju langsung oleh pengguna pembaca layar
  1. Berapa elemen main yang terlihat sebaiknya ada di satu halaman?
  2. Tulisan blog yang bisa dibagikan sendiri adalah
    • article
    • section
    • aside
  3. Bagian Bahan pada artikel resep adalah
    • section
    • article
    • nav
  4. Elemen mana yang memuat menu situs?
  5. Apakah aside harus tampil di kanan?
    • Tidak, posisi berasal dari CSS
    • Ya
    • Hanya di layar lebar
  6. Apa arti div?
    • Tidak ada; div adalah kotak umum
    • Bagian dari dokumen
    • Kisi tata letak
  7. Elemen mana yang menandai beberapa kata di dalam baris, tanpa makna, untuk keperluan gaya?
    • span
    • div
    • strong
  8. Di mana tautan hak cipta dan kontak sebaiknya ditaruh?
    • footer
    • header
    • main
  9. Bagaimana landmark membantu pengguna pembaca layar?
    • Mereka bisa mendaftar wilayah-wilayah dan melompat ke salah satunya
    • Landmark membuat teks lebih keras
    • Landmark menyembunyikan menu
  10. Bolehkah main ditaruh di dalam header?
    • Tidak
    • Ya
    • Hanya jika ada judul
Poin penting
  • header, nav, main, article, section, aside, dan footer menamai wilayah-wilayah halaman.
  • Pilih menurut makna; CSS menentukan posisi.
  • Pakai div dan span hanya jika tidak ada elemen bermakna yang cocok.
Sumber kursus ini (10)
  • WHATWG, HTML Living Standard (html.spec.whatwg.org, checked 2026-10-17)
  • MDN Web Docs, Learn web development: Structuring content with HTML, and the HTML element reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content and developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements, checked 2026-10-17)
  • MDN, HTML images (alt text guidance, checked 2026-10-17)
  • W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree, checked 2026-10-17)
  • CERN, A short history of the Web (home.cern/science/computing/the-birth-of-the-web/short-history-web/, checked 2026-10-17)
  • W3C and WHATWG memorandum of understanding, 28 May 2019 (w3.org/2019/04/WHATWG-W3C-MOU.html, checked 2026-10-17)
  • W3C, Using ARIA, first rule of ARIA use (w3.org/TR/using-aria/, checked 2026-10-17)
  • W3C Markup Validation Service (validator.w3.org, checked 2026-10-17)
  • MDN, Viewport meta element (checked 2026-10-17)
  • Every code exercise was checked with a Playwright probe against a reference solution.

Diperiksa: 2026-10-17