Interrupteur
Un réglage qui prend effet immédiatement. Il est annoncé avec role="switch", si bien qu'un lecteur d'écran dit activé ou désactivé plutôt que coché, et c'est toute la raison pour laquelle ce n'est pas une case à cocher.
Utilisation
Exemples
Aide
label écrit le texte à côté de l'interrupteur, et le slot par défaut le remplace. hint ajoute une légende en dessous, reliée à l'interrupteur par aria-describedby : c'est là qu'un réglage dit ce que l'activer change.
Position du libellé
labelPosition place le libellé avant l'interrupteur plutôt qu'après.
Écartement
spread prend toute la largeur offerte et pousse le libellé et l'interrupteur aux deux extrémités de la ligne.
Lecture seule
readonly montre le réglage sans permettre de le changer : un clic ou la barre d'espace sont annulés. L'interrupteur reste focalisable, s'envoie avec son formulaire et est annoncé en lecture seule. Il le dit à l'écran dans les deux positions : allumé il échange l'accent contre la couleur sourde, éteint il se creuse derrière un filet.
Désactivé
disabled empêche de basculer l'interrupteur et le grise par les tokens de couleur, allumé comme éteint. Le clavier l'enjambe.
API
Props
| Prop | Type | Défaut |
|---|---|---|
label | string | aucune |
| Le texte à côté de l'interrupteur, qui le nomme. Le slot par défaut le remplace. | ||
hint | string | aucune |
| Une ligne d'aide sous le libellé. Elle est reliée à l'interrupteur pour les technologies d'assistance, qui la lisent après le libellé et non comme une partie de celui-ci. | ||
labelPosition | SwitchLabelPosition'start' | 'end' | 'end' |
| De quel côté de l'interrupteur se place le libellé. | ||
spread | boolean | false |
| Pousse le libellé et l'interrupteur aux extrémités opposées de la ligne, si bien qu'une colonne de réglages aligne ses interrupteurs le long d'un bord. | ||
invalid | boolean | false |
| Marque le champ comme invalide, ce qui cercle la piste et le signale aux technologies d'assistance. À utiliser pour une règle que le navigateur ne sait pas vérifier ; la validité native est déjà prise en charge sans ça. | ||
disabled | boolean | false |
| Rend l'interrupteur inutilisable. Il se grise par les tokens de couleur plutôt que par l'opacité, ce qui le garde lisible sur n'importe quelle surface. | ||
readonly | boolean | false |
| Montre le réglage sans permettre de le changer. L'interrupteur reste focalisable, est annoncé en lecture seule et s'envoie toujours avec son formulaire ; un clic ou la barre d'espace ne changent simplement rien. | ||
v-model | boolean | false |
Si l'interrupteur est activé. La valeur est liée à un vrai <input type="checkbox"> masqué, donc elle s'envoie avec le formulaire comme n'importe quel autre champ. | ||
Slots
| Slot | Type |
|---|---|
default | {} |
Le libellé, quand il demande plus que le texte de la prop label, un lien ou une emphase. Il se trouve à l'intérieur du <label>, donc cliquer les mots bascule l'interrupteur. | |
Variables CSS
| Token | Valeur |
|---|---|
--vectis-control-size-switch-w | 2.5rem |
--vectis-control-size-switch-h | 1.25rem |
--vectis-control-size-switch-pad | 0.125rem |