Atribut hidden
Alihkan visibilitas elemen dengan atribut boolean hidden.
Atribut hidden adalah pelajaran HTML Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar HTML Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus HTML Academy mencakup 4 pelajaran total.
Apa Itu tersembunyi
Atribut hidden membuat elemen tidak terlihat dan menghapusnya dari pohon aksesibilitas:
<p hidden>This paragraph is hidden.</p>
<!-- Equivalent to: display: none in CSS -->
<!-- The element is in the DOM but not rendered -->
<!-- Screen readers do not announce hidden elements -->tersembunyi Merupakan Atribut Boolean
Atribut boolean dapat ada (true) atau tidak ada (false) — tidak memerlukan nilai:
<!-- All of these are equivalent: -->
<div hidden>Content</div>
<div hidden="">Content</div>
<div hidden="hidden">Content</div>
<!-- Remove with JavaScript: -->
element.removeAttribute('hidden');
<!-- Or set: -->
element.setAttribute('hidden', '');tersembunyi vs display:none vs visibility:hidden
Tiga cara untuk menyembunyikan elemen:
/* hidden attribute = display:none */
/* Element is removed from flow, invisible to AT */
/* visibility: hidden */
/* Element occupies space but is invisible */
/* Still read by some screen readers */
/* opacity: 0 */
/* Element occupies space, invisible, still interactive */
/* Still read by screen readers */
/* Hidden attribute is the simplest for fully hiding content */Mengubah Visibilitas dengan JavaScript
Kontrol visibilitas dengan menambahkan atau menghapus atribut tersembunyi:
const modal = document.getElementById('modal');
// Show:
modal.removeAttribute('hidden');
// or:
modal.hidden = false;
// Hide:
modal.setAttribute('hidden', '');
// or:
modal.hidden = true;
// Toggle:
modal.toggleAttribute('hidden');CSS Dapat Menimpa tersembunyi
display dalam CSS dapat menimpa atribut hidden — berhati-hatilah:
/* This makes hidden elements visible again: */
[hidden] {
display: block !important;
}
/* Do not do this unless you have a very specific reason */
/* The hidden attribute should be trusted as the source of truth for visibility */tersembunyi vs aria-hidden
Dua jenis penyembunyian yang berbeda:
hidden— disembunyikan secara visual DAN dihapus dari pohon aksesibilitasaria-hidden="true"— hanya disembunyikan dari pohon aksesibilitas, tetap ditampilkan secara visual
<!-- hidden: nothing sees it -->
<div hidden>Completely hidden</div>
<!-- aria-hidden: visual users see it, screen readers skip it -->
<span aria-hidden="true">★★★★☆</span>
<span class="sr-only">4 out of 5 stars</span>Pola Tampilkan/Sembunyikan
Pola klasik untuk menampilkan atau menyembunyikan dengan hidden:
<button
aria-expanded="false"
aria-controls="menu"
id="menu-btn"
>Menu</button>
<ul id="menu" hidden>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
</ul>
<script>
document.getElementById('menu-btn').addEventListener('click', function() {
const menu = document.getElementById('menu');
const expanded = this.getAttribute('aria-expanded') === 'true';
menu.hidden = expanded;
this.setAttribute('aria-expanded', !expanded);
});
</script>Nilai until-found (Baru)
HTML 5.1+ memperkenalkan hidden="until-found" untuk konten yang dapat dicari tetapi diciutkan:
<details>
<summary>Read More</summary>
<div hidden="until-found" id="more-content">
<p>This content is collapsed but findable by Ctrl+F.</p>
</div>
</details>
<!-- hidden="until-found" hides visually but allows browser Ctrl+F to find and reveal it -->
<!-- Only supported in Chromium-based browsers currently -->Perilaku Pembaca Layar
Atribut hidden sepenuhnya menyembunyikan konten dari teknologi bantu:
- Pembaca layar melewati elemen tersembunyi
- Fokus Tab tidak masuk ke elemen tersembunyi
- Ini tepat untuk dialog modal, menu di luar kanvas, dan panel kondisional yang tidak boleh ditelusuri saat tersembunyi
Kasus Penggunaan Umum
Gunakan atribut hidden ketika:
- Dialog modal sebelum dibuka
- Konten panel tab (tampilkan panel tab yang aktif, sembunyikan yang lain)
- Panduan berbasis langkah (tampilkan langkah saat ini)
- Pengungkapan bertahap (tampilkan informasi tambahan saat diklik)
- Status pemuatan (ganti indikator pemuatan dengan konten)
Mempertahankan Status Tersembunyi
Gunakan localStorage untuk mengingat status visibilitas di antara pemuatan halaman:
const panel = document.getElementById('info-panel');
const key = 'info-panel-visible';
// Restore state:
if (localStorage.getItem(key) === 'false') {
panel.hidden = true;
}
// On toggle:
document.getElementById('toggle-btn').addEventListener('click', () => {
panel.hidden = !panel.hidden;
localStorage.setItem(key, !panel.hidden);
});Pemeriksaan Singkat
Apa perbedaan antara atribut hidden dan aria-hidden?
Ringkasan: Atribut Tersembunyi
Hal-hal penting tentang atribut hidden:
hidden— setara dengandisplay: none- Boolean: ada = tersembunyi, tidak ada = terlihat
- Dihapus dari pohon aksesibilitas (berbeda dengan
visibility: hidden) - Ubah dengan
element.hidden = true/false aria-hidden="true"hanya menyembunyikan dari AT, tetapi tetap ditampilkan secara visual
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Atribut hidden” gratis?
Ya — teks lengkap “Atribut hidden” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus HTML Academy, upgrade ke CoddyKit PRO. Kursus HTML Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Atribut hidden”?
Alihkan visibilitas elemen dengan atribut boolean hidden. Kamu berlatih HTML Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai HTML Academy?
Tidak diperlukan pengalaman sebelumnya. HTML Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Atribut hidden” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran HTML Academy ini?
Ya. Setiap pelajaran HTML Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.