Navigasi & Struktur

Tabs (Navigasi Tab)

Pemisah konten multi-panel dengan navigasi garis bawah dan gaya pil kapsul yang mematuhi Hukum Jakob.

Tabs mengorganisasi konten yang berada pada level hierarki yang sama ke dalam panel terpisah yang dapat dialihkan secara cepat.


Pratinjau Komponen

Warga wajib melampirkan fotokopi KTP elektronik, Kartu Keluarga, dan surat pengantar dari RT/RW setempat.

Penggunaan CSS Murni

<!-- Tab Garis Bawah -->
<div class="mjl-tabs">
  <ul class="mjl-tab-list" role="tablist">
    <li role="presentation">
      <button class="mjl-tab mjl-tab--active" role="tab" aria-selected="true">Tab 1</button>
    </li>
    <li role="presentation">
      <button class="mjl-tab" role="tab" aria-selected="false">Tab 2</button>
    </li>
  </ul>
</div>

<!-- Tab Pil Kapsul -->
<div class="mjl-tabs mjl-tabs--pill">
  <ul class="mjl-tab-list">
    <li><button class="mjl-tab mjl-tab--active">Tab 1</button></li>
    <li><button class="mjl-tab">Tab 2</button></li>
  </ul>
</div>

Penggunaan di Berbagai Teknologi

Salin contoh sesuai teknologi proyek Anda. Semua versi memakai class dari @majalengka/css. Komponen siap pakai tersedia di @majalengka/vue; untuk React, Angular, Laravel, dan PHP, contoh di bawah sudah berupa pembungkus kecil yang bisa langsung disalin ke proyek.

<div class="mjl-tabs">
  <div class="mjl-tab-list" role="tablist" aria-label="Informasi layanan">
    <button type="button" role="tab" id="tab-syarat" class="mjl-tab mjl-tab--active" aria-selected="true" aria-controls="panel-syarat">Persyaratan</button>
    <button type="button" role="tab" id="tab-biaya" class="mjl-tab" aria-selected="false" aria-controls="panel-biaya" tabindex="-1">Biaya</button>
  </div>
  <div role="tabpanel" id="panel-syarat" class="mjl-tab-panel mjl-tab-panel--active" aria-labelledby="tab-syarat" tabindex="0">Fotokopi KTP dan KK.</div>
  <div role="tabpanel" id="panel-biaya" class="mjl-tab-panel" aria-labelledby="tab-biaya" tabindex="0" hidden>Gratis.</div>
</div>

Mengikuti pola WAI-ARIA Tabs: role="tablist"/tab/tabpanel, panah kiri/kanan dan Home/End untuk berpindah tab, dan hanya tab aktif yang masuk urutan Tab. Pakai variant="pill" untuk gaya pil.

Versi Laravel dan PHP memakai tautan ?tab= (dirender server, tanpa JavaScript), jadi tiap tab adalah halaman tersendiri dan ditandai aria-current="page", bukan pola role="tablist".

Copyright © 2026