Komponen Tab dengan Trik :checked vs JS
Terapkan antarmuka tab menggunakan teknik CSS :checked dan bandingkan dengan pendekatan JavaScript.
Komponen Tab dengan Trik :checked vs JS adalah pelajaran CSS Academy gratis di CoddyKit. Ini adalah pelajaran 4 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 CSS Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus CSS Academy mencakup 4 pelajaran total.
Persyaratan Komponen Tab
Komponen tab memerlukan: indikator visual untuk tab aktif, panel terkait yang ditampilkan atau disembunyikan saat dipilih, navigasi keyboard antartab, dan atribut ARIA yang aksesibel. Semua ini dapat dicapai dengan CSS murni menggunakan trik :checked atau dengan JavaScript untuk aksesibilitas yang lebih baik.
Trik :checked
Input radio tersembunyi berfungsi sebagai keadaan: setiap tab berupa <label> yang ditautkan ke input radio. Saat radio dipilih, penggabung saudara CSS menampilkan panel yang sesuai dan menata label tab aktif. JavaScript sama sekali tidak diperlukan.
<div class="tabs">
<input type="radio" name="tabs" id="tab-1" checked hidden />
<label for="tab-1">Tab One</label>
<div id="panel-1">Panel one content</div>
</div>
Arsitektur CSS :checked
Letakkan input radio, lalu semua label (tab), kemudian semua panel dalam wadah yang sama. Gunakan penggabung saudara umum (~) untuk menghubungkan radio yang dipilih dengan panel yang sesuai. Panel secara bawaan menggunakan display: none; panel yang cocok mendapatkan display: block.
Keterbatasan Pendekatan :checked
Trik :checked tidak dapat memperbarui atribut ARIA (aria-selected, aria-controls), tidak dapat mengaktifkan navigasi tombol panah antartab, dan batasan urutan DOM (input harus berada sebelum panel) dapat bertentangan dengan persyaratan desain visual. Kekurangan ini membatasi aksesibilitas yang sesungguhnya.
Komponen Tab JavaScript
Komponen tab JS mendengarkan peristiwa klik pada tombol tab, menetapkan aria-selected pada tab aktif, memperbarui aria-hidden pada panel, dan mengelola fokus. Pendekatan ini memungkinkan kepatuhan ARIA penuh serta pola interaksi keyboard sesuai Praktik Penulisan ARIA.
Peran ARIA untuk Tab
Gunakan role="tablist" pada wadah, role="tab" pada setiap tombol tab bersama aria-selected dan aria-controls, serta role="tabpanel" pada setiap panel bersama aria-labelledby. Pembaca layar mengumumkan jumlah tab, posisi, dan keadaan yang dipilih.
Pola Interaksi Keyboard
Praktik Penulisan ARIA untuk tab: tombol Tab memasuki daftar tab dan memfokuskan tab aktif. Panah Kiri/Kanan berpindah antartab. Home/End melompat ke tab pertama/terakhir. Setiap perpindahan dengan tombol panah mengaktifkan tab yang mendapat fokus (pola aktivasi otomatis).
CSS untuk Keadaan Aktif
Tata tab aktif dengan garis tepi bawah atau perubahan latar belakang menggunakan pemilih [aria-selected="true"]—cara ini berfungsi pada pendekatan JS maupun :checked. Dengan demikian, CSS tetap selaras dengan atribut keadaan ARIA dan tidak memerlukan pengelolaan dua keadaan yang terpisah.
<div role="tablist">
<button role="tab" aria-selected="true">Overview</button>
<button role="tab" aria-selected="false">Details</button>
</div>
Indikator Animasi
Indikator tab animasi bergeser di antara tab: posisikan elemen indikator dengan posisi absolut, gunakan JavaScript untuk mengatur posisi kiri dan lebarnya agar sesuai dengan dimensi tab aktif, lalu animasikan dengan transition: left 200ms ease, width 200ms ease.
Luapan Tab Responsif
Ketika tab meluap dari wadahnya pada layar kecil, gunakan pengguliran horizontal (overflow-x: auto; scrollbar-width: none) atau ubah tab menjadi menu tarik-turun pada perangkat seluler. Pendekatan menu tarik-turun memerlukan JS untuk menyinkronkan elemen pilihan bawaan dengan visibilitas panel tab.
CSS Saja vs JS: Kapan Menggunakan Masing-Masing
Gunakan trik :checked untuk antarmuka pengguna sederhana dan tidak kritis, ketika aksesibilitas bukan persyaratan prioritas. Gunakan tab JavaScript untuk antarmuka produksi yang melayani pengguna papan ketik, pengguna pembaca layar, atau aplikasi yang memerlukan kepatuhan terhadap ARIA dalam audit atau persyaratan hukum.
Uji Pengetahuan
Apa keterbatasan aksesibilitas utama dari trik :checked CSS untuk tab?
Ringkasan
Trik :checked memungkinkan peralihan tab hanya dengan CSS menggunakan input radio dan kombinator saudara, tetapi tidak memiliki aksesibilitas ARIA dan papan ketik. Tab JavaScript dengan peran ARIA (tablist, tab, tabpanel), pengelolaan aria-selected, dan penanganan tombol Panah memberikan pengalaman lengkap dan aksesibel yang diperlukan untuk komponen produksi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Komponen Tab dengan Trik :checked vs JS” gratis?
Ya — teks lengkap “Komponen Tab dengan Trik :checked vs JS” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus CSS Academy, upgrade ke CoddyKit PRO. Kursus CSS Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Komponen Tab dengan Trik :checked vs JS”?
Terapkan antarmuka tab menggunakan teknik CSS :checked dan bandingkan dengan pendekatan JavaScript. Kamu berlatih CSS 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 CSS Academy?
Tidak diperlukan pengalaman sebelumnya. CSS 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 4 dari 4.
Berapa lama pelajaran “Komponen Tab dengan Trik :checked vs JS” 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 CSS Academy ini?
Ya. Setiap pelajaran CSS 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.
Semua pelajaran dalam kursus ini
- Komponen Kartu dengan Properti Khusus CSS
- Penataan Modal dan Dialog
- Pola Menu Tarik Turun dan Popover
- Komponen Tab dengan Trik :checked vs JS