Bootstrap - Akordion: Panduan untuk Pemula

Halo sana, para pengembang web masa depan! Hari ini, kita akan melihat dunia yang menakjubkan dari Bootstrap Akordion. Sebagai guru komputer tetangga yang ramah, saya sangat gembira untuk memandu Anda dalam perjalanan ini. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - kita akan mulai dari awal dan membangun langkah demi langkah!

Bootstrap - Accordion

Apa Itu Bootstrap Akordion?

Sebelum kita masuk ke detilnya, mari bicarakan apa itu akordion dalam desain web. Bayangkan sebuat akordion musik - itu membentur dan menyusut, mengungkapkan section yang berbeda. Itu tepat apa yang dilakukan Bootstrap Akordion di halaman web! Itu adalah cara yang hemat ruang untuk mengatur konten, memungkinkan pengguna untuk menampilkan dan menyembunyikan section sesuai kebutuhan.

Cara Kerjanya

Bootstrap Akordion dibangun menggunakan kombinasi HTML, CSS, dan JavaScript (jangan khawatir, Bootstrap menangani sebagian besar JavaScript untuk kita!). Itu terdiri dari series elemen yang dapat diperkecil atau diperluas dengan mengklik header mereka.

Berikut adalah penjelasan komponen utama:

  1. Kontainer luar (biasanya <div> dengan kelas accordion)
  2. Item akordion individual (setiapnya dalam <div> dengan kelas accordion-item)
  3. Header untuk setiap item ( biasanya <h2> elemen dengan kelas accordion-header)
  4. Tombol dalam header untuk memicu ekspansi/penyusutan
  5. Panel konten yang muncul/tersembunyi saat diklik (dalam <div> elemen dengan kelas accordion-collapse)

Sekarang, mari kita lihat ini dalam aksi!

Contoh Dasar

Berikut adalah contoh akordion Bootstrap sederhana:

<div class="accordion" id="basicAccordion">
<div class="accordion-item">
<h2 class="accordion-header" id="headingOne">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Item Akordion #1
</button>
</h2>
<div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#basicAccordion">
<div class="accordion-body">
Ini adalah konten item akordion pertama.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="headingTwo">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Item Akordion #2
</button>
</h2>
<div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#basicAccordion">
<div class="accordion-body">
Ini adalah konten item akordion kedua.
</div>
</div>
</div>
</div>

Beriulasannya:

  1. Kita mulai dengan <div> yang memiliki kelas accordion. Ini adalah kontainer utama kita.
  2. Didalamnya, kita memiliki accordion-item divs untuk setiap section yang dapat diperkecil/diperluas.
  3. Setiap item memiliki header (accordion-header) dengan tombol yang mengontrol aksi penyusutan/ekspansi.
  4. Konten berada di <div> terpisah dengan kelas accordion-collapse dan collapse.
  5. Atribut data-bs-toggle="collapse" dan data-bs-target="#collapseOne" di tombol menghubungkannya ke div konten.

Tips Pro: Perhatikan bagaimana item pertama memiliki class="accordion-collapse collapse show" dan aria-expanded="true"? Ini berarti itu akan terbuka secara default ketika halaman dimuat.

Akordion Flush

Ingin tampilan yang lebih ramping tanpa batas? Bootstrap punya solusi dengan akordion flush:

<div class="accordion accordion-flush" id="flushAccordion">
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingOne">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseOne" aria-expanded="false" aria-controls="flush-collapseOne">
Item Akordion Flush #1
</button>
</h2>
<div id="flush-collapseOne" class="accordion-collapse collapse" aria-labelledby="flush-headingOne" data-bs-parent="#flushAccordion">
<div class="accordion-body">Ini adalah item pertama akordion flush.</div>
</div>
</div>
<!-- Tambahkan lebih banyak item jika diperlukan -->
</div>

Perbedaan utama di sini adalah penambahan kelas accordion-flush ke kontainer utama. Ini menghapus warna latar belakang default dan beberapa batas, memberikan tampilan yang lebih bersih.

Akordion Selalu Terbuka

Secara default, Akordion Bootstrap menutup item lain saat item baru dibuka. Tetapi apa bila Anda ingin beberapa item tetap terbuka? Berikut caranya:

<div class="accordion" id="alwaysOpenAccordion">
<div class="accordion-item">
<h2 class="accordion-header" id="headingAlwaysOne">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseAlwaysOne" aria-expanded="true" aria-controls="collapseAlwaysOne">
Item Selalu Terbuka #1
</button>
</h2>
<div id="collapseAlwaysOne" class="accordion-collapse collapse show" aria-labelledby="headingAlwaysOne">
<div class="accordion-body">Item ini dapat tetap terbuka saat yang lain dibuka.</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="headingAlwaysTwo">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseAlwaysTwo" aria-expanded="false" aria-controls="collapseAlwaysTwo">
Item Selalu Terbuka #2
</button>
</h2>
<div id="collapseAlwaysTwo" class="accordion-collapse collapse" aria-labelledby="headingAlwaysTwo">
<div class="accordion-body">Item ini juga dapat tetap terbuka secara independen.</div>
</div>
</div>
</div>

Rahasia di sini? Kita menghapus atribut data-bs-parent dari div konten. Ini memberitahu Bootstrap untuk tidak secara otomatis menutup item lain saat satu item dibuka.

Aksesibilitas

Aksesibilitas sangat penting dalam pengembangan web. Akordion Bootstrap datang dengan fitur aksesibilitas bawaan, tetapi penting untuk menggunakannya dengan benar:

  1. Gunakan level heading yang benar (<h2>, <h3>, dll.) untuk header akordion.
  2. Sertakan atribut aria-expanded di tombol (set ke "true" saat terbuka, "false" saat tertutup).
  3. Gunakan aria-controls di tombol untuk menghubungkannya ke div konten.
  4. Tambahkan aria-labelledby ke div konten, merujuk ke header yang bersangkutan.

Berikut adalah tabel yang menggabungkan atribut kunci:

Atribut Lokasi Tujuan
aria-expanded Tombol Menunjukkan jika section sedang diperluas
aria-controls Tombol Menghubungkan tombol ke konten
aria-labelledby Div konten Menghubungkan konten ke header

Ingat, ini bukan hanya untuk penampilan - perangkat bantu dan teknologi lain bergantung pada atribut ini untuk menavigasi akordion Anda dengan benar.

Kesimpulan

Dan begitu saja, teman-teman! Anda telah memulai perjalanan Anda ke dunia Bootstrap Akordion. Dari struktur dasar hingga pertimbangan aksesibilitas, Anda sekarang memiliki alat untuk menciptakan konten yang terorganisir dan interaktif di halaman web Anda.

Ingat, latihan membuat sempurna. Cobalah membuat akordion Anda sendiri, campurkan gaya, dan terutama, bersenang-senang dengan itu! Siapa tahu, Anda mungkin menemukan nada baru dalam pengembangan web. (Maaf, saya tidak bisa menahan untuk memberikan sedikit lelucon akordion!)

Selamat mengoding, dan sampai jumpa lagi, terus memperluas pengetahuan Anda - seperti akordion!

Credits: Image by storyset