Code, Pre & Kbd — HTML

Pernah baca tutorial coding di blog yang nampilin kode pake font monospace, plus shortcut keyboard yang dibungkus tombol-tombol kecil cantik? Itu pakai tag-tag

Pernah baca tutorial coding di blog yang nampilin kode pake font monospace, plus shortcut keyboard yang dibungkus tombol-tombol kecil cantik? Itu pakai tag-tag teknis HTML khusus: <code>, <pre>, <kbd>, <samp>. Bukan cuma soal styling — screen reader dan mesin pencari memperlakukan tag-tag ini sebagai technical content, bukan prosa biasa. Jadi tutorial kamu lebih readable + lebih bagus untuk SEO + accessibility.

💡 Aturan praktis. Kalau kamu lagi nulis tutorial atau dokumentasi, pakai tag yang sesuai dengan makna — <kbd> untuk tombol keyboard, <samp> untuk output, <code> untuk fragment code, <pre> untuk multi-baris. Jangan semuanya dibungkus <span class="code"> — itu cuma styling tanpa makna.

<code> — Code Inline

Potongan kode inline di dalam teks:

<p>Pakai <code>Array.map()</code> untuk transformasi data.</p>

<pre> — Preformatted Block

Pertahankan spasi dan newline apa adanya. Sering dipasangkan dengan <code> untuk blok kode multi-baris:

<pre><code>function sapa(nama) {
  return "Halo, " + nama;
}</code></pre>

<kbd> — Tombol Keyboard

Input keyboard dari user (tombol yang ditekan):

<p>Simpan dengan <kbd>Ctrl</kbd> + <kbd>S</kbd>.</p>

<samp> — Sample Output Program

<p>Program mencetak: <samp>Hello World</samp></p>

Browser memberi style monospace default untuk keempatnya. Yang lebih penting: screen reader dan mesin pencari memperlakukan konten ini sebagai technical content, bukan prosa biasa.

🎭 Analogi sehari-hari

Bayangin kamu lagi nulis tutorial masak di blog. Pas sebut "tekan tombol mixer 2 kali" — itu beda banget makna sama "tambah 2 sendok gula". Yang pertama itu instruksi tindakan, yang kedua bahan. HTML juga gitu: <kbd> itu kayak ngomong "ini tombol yang harus user pencet" (Ctrl+S), <samp> itu kayak nunjukin "ini hasil yang keluar di layar" (Hello World), <code> buat sebut nama tool/fungsi (kayak Array.map()), dan <pre> buat nulis blok masakan multi-baris yang spasinya gak boleh diutak-atik. Browser otomatis kasih font monospace, tapi yang lebih penting screen reader paham ini istilah teknis bukan prosa biasa.

⚠️ Jebakan yang sering ditemui

TL;DR: Tag teknis HTML semantik. <code> = potongan kode inline. <pre> = preserve whitespace + newline (preformatted). Multi-line code = <pre><code>...</code></pre>. <kbd> = INPUT keyboard user (Ctrl+S). <samp> = OUTPUT program. Browser default monospace; screen reader + mesin pencari treat sebagai technical content. Wajib escape </>/& di dalam (&lt;/&gt;/&amp;). Pasangkan dengan Prism/highlight.js untuk syntax coloring.

Yang akan kamu pelajari