Indicateur d’étapes

Progression d’une démarche multi-écrans : en-tête, titre, barres d’étapes, détail optionnel ; variante verticale bj-stepper--vertical.

Horizontal (par défaut)

<div class="bj-stepper" role="navigation" aria-label="Étapes">
  <div class="bj-stepper__header">
    <h2 class="bj-stepper__title">Votre dossier</h2>
    <div class="bj-stepper__steps" role="list">
      <div class="bj-stepper__step bj-stepper__step--done" role="listitem">Pièces</div>
      <div class="bj-stepper__step bj-stepper__step--current" role="listitem" aria-current="step">Vérification</div>
      <div class="bj-stepper__step" role="listitem">Validation</div>
    </div>
  </div>
</div>

Vertical

<div class="bj-stepper bj-stepper--vertical" role="navigation" aria-label="Étapes">
  <div class="bj-stepper__header">
    <h2 class="bj-stepper__title">Étapes</h2>
    <div class="bj-stepper__steps" role="list">
      <div class="bj-stepper__step bj-stepper__step--done" role="listitem">1</div>
      <div class="bj-stepper__step bj-stepper__step--current" role="listitem" aria-current="step">2</div>
      <div class="bj-stepper__step" role="listitem">3</div>
    </div>
  </div>
</div>

Avec texte de détail

<div class="bj-stepper" role="navigation" aria-label="Étapes">
  <div class="bj-stepper__header">
    <h2 class="bj-stepper__title">Inscription</h2>
    <div class="bj-stepper__steps" role="list">
      <div class="bj-stepper__step bj-stepper__step--done" role="listitem"></div>
      <div class="bj-stepper__step bj-stepper__step--current" role="listitem" aria-current="step"></div>
      <div class="bj-stepper__step" role="listitem"></div>
    </div>
    <p class="bj-stepper__detail">Complétez les champs obligatoires avant de continuer.</p>
  </div>
</div>

Combinaisons

On peut combiner bj-stepper--vertical avec un bj-stepper__detail ; les modificateurs bj-stepper__step--done et bj-stepper__step--current s’appliquent à chaque étape.

<div class="bj-stepper bj-stepper--vertical" role="navigation" aria-label="Étapes">
  <div class="bj-stepper__header">
    <h2 class="bj-stepper__title">Vertical + détail</h2>
    <div class="bj-stepper__steps" role="list">
      <div class="bj-stepper__step bj-stepper__step--done" role="listitem"></div>
      <div class="bj-stepper__step bj-stepper__step--current" role="listitem" aria-current="step"></div>
      <div class="bj-stepper__step" role="listitem"></div>
    </div>
    <p class="bj-stepper__detail">Dernière ligne droite.</p>
  </div>
</div>

Classes CSS

ClasseDescription
bj-stepperConteneur principal.
bj-stepper--verticalBarres d’étapes en colonne (segments verticaux).
bj-stepper__headerBloc regroupant titre, liste d’étapes et détail (comme <code>BjStepper</code>).
bj-stepper__titleTitre de la démarche (<code>h2</code> recommandé).
bj-stepper__stepsConteneur flex des segments d’étape.
bj-stepper__stepSegment d’une étape (barre).
bj-stepper__step--currentÉtape courante.
bj-stepper__step--doneÉtape terminée.
bj-stepper__detailTexte d’aide sous les étapes.

Accessibilité

Le composant Vue expose role="navigation" et aria-label ; pour une version HTML pure, utilisez role="list" sur bj-stepper__steps et role="listitem" sur chaque bj-stepper__step si le libellé est dans l’élément.