Input
BetaRSC-safeL2 — '<'input'>' natif + label + description + erreur. aria-describedby chaîné (description + erreur), aria-invalid, required. RSC-safe (non contrôlé côté Lyra).
import { Input } from "@lyra/tokens/components";Playground
En dollars canadiens
Requis (8 caractères min.)
Démo interactive — réglages du playground (props ajustables en direct) à venir.
<Input label="Courriel" type="email" />
<Input label="Montant" description="En dollars canadiens" />
<Input label="Mot de passe" type="password" error="Requis (8 caractères min.)" />Documentation
- avec description
En dollars canadiens
- avec erreur
Requis (8 caractères min.)
label, description, error, required, ...inputProps<Input label="Courriel" type="email" />
<Input label="Montant" description="En dollars canadiens" />
<Input label="Mot de passe" type="password" error="Requis (8 caractères min.)" />- '<'label htmlFor'>' toujours associé à l'input (jamais de label flottant non lié).
- description et error chaînés dans aria-describedby (ids stables via useId).
- error présent → aria-invalid='true' + message avec role='alert' (couleur ET texte — WCAG 1.4.1).
- required → attribut natif + astérisque visuel aria-hidden (pas de bruit auditif redondant).
- Touch-target hauteur ≥ 44px.