Tableau

Présentation tabulaire pour suivis de dossiers, listes réglementaires et données chiffrées. Encapsulez le tableau dans bj-table-wrapper pour autoriser le défilement horizontal sur mobile sans casser la mise en page. Largeurs fixes : bj-table--layout-fixed (prop Vue fixedLayout) — pas de classe bj-table--fixed.

Tableau par défaut

RéférenceIntituléStatutDate
BJ-2025-0142Demande de passeport biométriqueEn instruction20/03/2025
BJ-2025-0189Autorisation d’occupation du domaine publicComplété17/03/2025
BJ-2025-0201Certificat de non-gageEn attente de pièces14/03/2025
BJ-2025-0167Extrait du bulletin n°2 du casier judiciaireRefusé09/03/2025
<div class="bj-table-wrapper">
  <table class="bj-table">
    <thead>
      <tr>
        <th scope="col">Référence</th>
        <th scope="col">Intitulé</th>
        <th scope="col">Statut</th>
        <th scope="col">Date</th>
      </tr>
    </thead>
    <tbody>…</tbody>
  </table>
</div>

Tableau bordé

bj-table--bordered encadre cellules et en-têtes pour une lecture plus nette sur fond clair.

RéférenceIntituléStatutDate
BJ-2025-0142Demande de passeport biométriqueEn instruction20/03/2025
BJ-2025-0189Autorisation d’occupation du domaine publicComplété17/03/2025
BJ-2025-0201Certificat de non-gageEn attente de pièces14/03/2025
BJ-2025-0167Extrait du bulletin n°2 du casier judiciaireRefusé09/03/2025
<table class="bj-table bj-table--bordered">…</table>

Tableau rayé

bj-table--striped alterne le fond des lignes du corps pour faciliter le repérage des lignes sur de longues listes.

RéférenceIntituléStatutDate
BJ-2025-0142Demande de passeport biométriqueEn instruction20/03/2025
BJ-2025-0189Autorisation d’occupation du domaine publicComplété17/03/2025
BJ-2025-0201Certificat de non-gageEn attente de pièces14/03/2025
BJ-2025-0167Extrait du bulletin n°2 du casier judiciaireRefusé09/03/2025
<table class="bj-table bj-table--striped">…</table>

Colonnes à largeur fixe

bj-table--layout-fixed applique table-layout: fixed pour stabiliser les colonnes sur des tableaux avec beaucoup de texte.

RéférenceIntitulé long poussant les autres colonnesStatut
BJ-2025-0142 Demande de passeport biométrique avec texte supplémentaire pour tester le comportement des largeurs. En instruction
BJ-2025-0189Autorisation d’occupation du domaine publicComplété
<div class="bj-table-wrapper">
  <table class="bj-table bj-table--layout-fixed">
    <thead>…</thead>
    <tbody>…</tbody>
  </table>
</div>

Combinaisons bordé / rayé / fixe

Les modificateurs bj-table--bordered, bj-table--striped et bj-table--layout-fixed sont indépendants et cumulables.

Réf.LibelléÉtat
A-101Dossier bordé, rayé, largeurs fixesOK
A-102Combinaison des trois modificateursOK
A-103Ligne paire (fond rayé)Vue
<table class="bj-table bj-table--bordered bj-table--striped bj-table--layout-fixed">
  <thead>…</thead>
  <tbody>…</tbody>
</table>

Tableau avec légende

La balise <caption> résume le contenu du tableau pour tous les utilisateurs, y compris ceux qui naviguent au lecteur d’écran.

Dossiers déposés au guichet unique - mars 2025
RéférenceIntituléStatutDate
BJ-2025-0142Demande de passeport biométriqueEn instruction20/03/2025
BJ-2025-0189Autorisation d’occupation du domaine publicComplété17/03/2025
<table class="bj-table">
  <caption>Dossiers déposés au guichet unique - mars 2025</caption>
  <thead>…</thead>
  <tbody>…</tbody>
</table>

Tableau interactif (tri, filtre, pagination)

Ajoutez data-bj-table sur le wrapper, data-bj-table-sort sur les en-têtes triables, data-bj-table-filter sur un champ de recherche, et data-bj-table-paginate="5" pour paginer.

RéférenceIntituléStatutDate
BJ-2025-0142Demande de passeport biométriqueEn instruction20/03/2025
BJ-2025-0189Autorisation d'occupation du domaine publicComplété17/03/2025
BJ-2025-0201Certificat de non-gageEn attente14/03/2025
BJ-2025-0167Extrait du bulletin n°2 du casier judiciaireRefusé09/03/2025
BJ-2025-0210Demande de permis de construireEn instruction22/03/2025
BJ-2025-0215Inscription au registre du commerceComplété23/03/2025
BJ-2025-0220Demande de carte nationale d'identitéEn attente18/03/2025
BJ-2025-0225Certificat de naissanceComplété15/03/2025
<div data-bj-table data-bj-table-paginate="5">
  <div class="bj-table__header">
    <input type="text" class="bj-table__search" data-bj-table-filter placeholder="Rechercher…" />
    <span class="bj-table__count"></span>
  </div>
  <table class="bj-table bj-table--sortable">
    <thead>
      <tr>
        <th scope="col" data-bj-table-sort>Référence</th>
        <th scope="col" data-bj-table-sort>Intitulé</th>
        …
      </tr>
    </thead>
    <tbody>…</tbody>
  </table>
  <div class="bj-table__footer"></div>
</div>

Classes CSS

ClasseDescription
bj-table-wrapperConteneur avec défilement horizontal - à utiliser pour le responsive sans réduire la lisibilité des colonnes.
bj-tableTableau de base du design system.
bj-table--borderedBordures visibles sur cellules et en-têtes.
bj-table--stripedLignes du corps en alternance de fond.
bj-table--layout-fixedLargeurs de colonnes fixes (table-layout: fixed).
bj-table--sortableÀ combiner avec <code>data-bj-table-sort</code> sur les en-têtes : styles des colonnes triables.
bj-table--no-captionMasque visuellement la légende tout en la conservant pour l’accessibilité (équivalent sr-only).
bj-table__headerZone au-dessus du tableau (filtre, compteur) — utilisée par le script tableau interactif.
bj-table__footerZone sous le tableau (pagination) — remplie par le script interactif.
bj-table__searchChamp de recherche avec <code>data-bj-table-filter</code>.
bj-table__countCompteur de lignes mis à jour par le script interactif.

Accessibilité

Fournissez une <caption> pertinente ou un titre proche dans le flux. Sur chaque <th>, utilisez scope="col" ou scope="row" selon le cas. Enrobez les tableaux larges dans bj-table-wrapper pour le défilement horizontal au clavier et au tactile. Pour les tableaux complexes, reliez cellules et en-têtes avec headers et id.