Badge

Étiquette compacte non interactive pour afficher un statut, une catégorie ou un compteur. 6 variantes sémantiques, 2 tailles, icônes, mode icon-only accessible. Compact non-interactive label for displaying status, category, or count. 6 semantic variants, 2 sizes, icons, accessible icon-only mode.

VariantesVariants

neutral
NeutreNeutral Neutre (sm)Neutral (sm)
brand
BetaBeta Beta (sm)Beta (sm)
success
ActifActive Actif (sm)Active (sm)
warning
En attentePending En attente (sm)Pending (sm)
danger
RejetéRejected Rejeté (sm)Rejected (sm)
info
En coursIn progress En cours (sm)In progress (sm)

Règles absoluesAbsolute rules

Tokens de composantComponent tokens

Token CSSRéférenceReferenceValeurValue
--agtc-component-badge-neutral-backgroundsemantic.color.background.subtle#f0f0f0
--agtc-component-badge-neutral-textsemantic.color.text.secondary#646464
--agtc-component-badge-neutral-bordersemantic.color.border.default#e8e8e8
--agtc-component-badge-brand-backgroundsemantic.color.brand.primary-subtle#e0f8f3
--agtc-component-badge-success-backgroundprimitive.color.green.3
--agtc-component-badge-success-textsemantic.color.feedback.success#18794e
--agtc-component-badge-warning-backgroundprimitive.color.orange.3
--agtc-component-badge-danger-backgroundsemantic.color.feedback.danger-subtle#feebec
--agtc-component-badge-danger-textsemantic.color.feedback.danger#ce2c31
--agtc-component-badge-info-backgroundprimitive.color.blue.3
--agtc-component-badge-md-radius9999px
--agtc-component-badge-md-font-sizesemantic.typography.label.size0.875rem
--agtc-component-badge-sm-font-sizesemantic.typography.detail.size0.75rem

AccessibilitéAccessibility

ImplémentationImplementation

<!-- Variantes -->
<agtc-badge>NeutreNeutral</agtc-badge>
<agtc-badge variant="success">ActifActive</agtc-badge>
<agtc-badge variant="warning">En attentePending</agtc-badge>
<agtc-badge variant="danger">RejetéRejected</agtc-badge>
<agtc-badge variant="info">En coursIn progress</agtc-badge>
<agtc-badge variant="brand">Beta</agtc-badge>

<!-- Taille sm -->
<agtc-badge size="sm" variant="neutral">Draft</agtc-badge>

<!-- Avec icône -->
<agtc-badge variant="success" icon="check">ApprouvéApproved</agtc-badge>

<!-- Icon-only — label obligatoire -->
<agtc-badge icon-only icon="check" label="ApprouvéApproved" variant="success"></agtc-badge>

DOs et DON'TsDOs and DON'Ts

À faireDo

  • Choisir la variante par intention (success pour validé, danger pour erreur)Choose variant by intent (success for approved, danger for error)
  • Ajouter label sur icon-only pour les lecteurs d'écranAdd label on icon-only for screen readers
  • Utiliser size="sm" dans les tableaux et espaces densesUse size="sm" in tables and dense layouts

À éviterDon't

  • Badge cliquable sans encapsulation dans <button>Clickable badge without wrapping in <button>
  • icon-only sans label — inaccessibleicon-only without label — inaccessible
  • Variante choisie par couleur, pas par intentionVariant chosen by color, not by intent

UX Patterns Reference

Patterns approved via the ux-pattern-review workflow (ADR-036). Decision: all approved.

PatternSourceAppliedJustification
Status not encoded by color aloneNN/g — indicatorsRecommended: for critical statuses (danger/warning), add a distinctive icon or label (not enforced, but good practice)
role="status" to announce changes to ATNN/gAlready in place
Consistent semantic mapping (traffic-light)Dashboard — color/semanticsuccess/warning/danger variants
Non-interactive badge — wrap if clickableNN/gExisting anti-pattern
Contribuer à ce projet Contribute to this project

Ce système est ouvert aux contributions — tokens, composants, décisions architecturales, corrections d'accessibilité ou documentation. Toute amélioration est bienvenue. This system welcomes contributions — tokens, components, architectural decisions, accessibility fixes, or documentation. Every improvement counts.

Voir sur GitHub View on GitHub