Mot de passe

Champ de mot de passe sécurisé construit sur Input, avec show/hide et les meilleures pratiques d'accessibilité.

UIMise à jour 28 avril 2026
UIMot de passe

Sécuriser les champs de mot de passe pour les flux d'authentificationLien vers la section

Les PasswordInput component est une entrée spécialisée pour le mot de passe et les champs secrets.

Il se construit sur le dessus de la base Entrées composant et ajoute un affichage sécurisé/cacher basculer avec le clavier et le soutien de lecteur d'écran.

Utilisez-le pour:

  • Formulaires de connexion
  • formulaires d'inscription
  • mot de passe reset flux
  • changement de mot de passe
  • paramètres de sécurité du compte
  • Flux d'intégration nécessitant des informations d'identification

Idée de base

PasswordInput est pour le texte secret. Il devrait préserver la sémantique des mots de passe tout en donnant aux utilisateurs un moyen sûr de vérifier ce qu'ils ont tapé.

ImportationLien vers la section

password-input-import.tsx
import { PasswordInput } from "@pycolors/ui";

Utilisation de baseLien vers la section

Quand utiliser PasswordInputLien vers la section

Utilisez PasswordInput lorsque la valeur doit être masquée par défaut et révélée uniquement par une intention explicite de l'utilisateur.

Authentification

Utilisez pour les formulaires de connexion, d'enregistrement et de réinitialisation de mot de passe.

Cycle de vie du mot de passe

Utiliser pour les champs mot de passe actuel, nouveau mot de passe et confirmation.

Paramètres de sécurité

Utilisez dans les flux de sécurité de compte où les utilisateurs gèrent les informations d'identification.

ComportementLien vers la section

PasswordInput est contrôlé en interne pour la visibilité.

Elle :

  • par défaut à type="password"
  • bascule entre password et text
  • utilise un bouton sémantique pour la bascule
  • Prend en charge l'interaction de la souris et du clavier
  • expose l'état accessible à bascule avec aria-pressed
  • réserve la bonne zone d'icônes pour la visibilité

Règle de sécurité

Révéler le mot de passe doit toujours être une action explicite de l'utilisateur. Ne jamais afficher de valeurs secrètes par défaut.

Avec texte d'aideLien vers la section

Utilisez le texte d'aide pour expliquer les exigences de mot de passe.

Use at least 8 characters with one number.

Erreur de validationLien vers la section

Utilisation error pour afficher la validation du mot de passe au niveau du champ.

Règle de validation

Gardez les erreurs de mot de passe spécifiques. Évitez les messages vagues comme « Mot de passe non valide » lorsque l’utilisateur peut corriger l’exigence.

TaillesLien vers la section

PasswordInput prend en charge la même taille API que Input.

Tailles disponiblesLien vers la section

TailleObjet
smÉcrans de réglages denses ou formes compactes
mdTaille du champ du mot de passe par défaut
lgAuth pages, onboarding, et des formes de haut-accentuation

UtilisationsLien vers la section

Utilisez une étiquette claire

Les étiquettes telles que Mot de passe, Mot de passe actuel, Nouveau mot de passe et Confirmer le mot de passe sont directes et prévisibles.

Ajouter des exigences à proximité du terrain

Utilisez le texte d'aide pour les exigences avant la validation, puis le texte d'erreur lorsque l'utilisateur doit corriger quelque chose.

Garder un comportement prévisible

La bascule de révélation ne doit changer que la visibilité, pas la validation, le focus ou la valeur du champ.

Valider en dehors du composant

PasswordInput affiche l'état de validation. Votre schéma, serveur ou couche auth définit les règles.

Utiliser l'autocomplétion native

Ajouter autoComplete Valeurs telles que current-password, new-passwordou one-time-code le cas échéant.

PasswordInput vs InputLien vers la section

SituationUtilisation
Champ de mot de passePasswordInput
Mot de passe actuelPasswordInput
Nouveau mot de passePasswordInput
Confirmer le mot de passePasswordInput
Email, nom, URL, rechercheEntrées
token secret avec comportement de révélationPasswordInput ou saisie secrète personnalisée
Longue valeur secrèteChamp secret textarea-like personnalisé

Règle de décision

Utilisez PasswordInput lorsque la valeur est secrète et bénéficie d'une bascule de visibilité.

APILien vers la section

Props

PasswordInput expose la même API que Input, sauf :

  • type est contrôlé en interne
  • rightIcon est réservé à la visibilité
PropTypePar défautDésignation
labelstring—Étiquette accessible au-dessus du champ
helperTextstring—Texte d'aide sous le champ
errorstring—Message d'erreur de validation
leftIconReact.ReactNode—Icône optionnelle affichée à gauche
size"sm" | "md" | "lg""md"Densité visuelle
classNamestring—Dépassement du vent arrière
autoCompletestring—Indication native autocomplete

Tous les autres accessoires d'entrée pris en charge sont transférés.

TypeScript typesLien vers la section

password-input-types.ts
import type { InputProps } from "@pycolors/ui";

export interface PasswordInputProps extends Omit<
  InputProps,
  "type" | "rightIcon"
> {}

AccessibilitéLien vers la section

PasswordInput est conçu pour une entrée d'informations d'identification accessible.

Directives :

  • La visibilité est un vrai bouton
  • Le Toggle devrait exposer aria-label
  • Le Toggle devrait exposer aria-pressed
  • Les icônes doivent être décoratives et utilisées aria-hidden
  • l'entrée conserve la sémantique du mot de passe natif
  • Les étiquettes, le texte d'aide et les erreurs suivent
  • utiliser de manière appropriée autoComplete valeurs
  • ne retirez pas les bagues de focus de la bascule ou du champ

Valeurs d'auto-complétion recommandées :

ContexteautoComplete
Mot de passecurrent-password
Enregistrer le mot de passenew-password
Réinitialiser mot de passenew-password
Confirmer le mot de passenew-password

Règle d'accessibilité

Le contrôle de révélation doit être accessible au clavier et doit annoncer clairement si le mot de passe est actuellement affiché ou caché.

Préférez/évitezLien vers la section

Préférez

  • Effacer les étiquettes de mot de passe
  • Texte d'aide pour les exigences
  • Messages de validation spécifiques
  • Valeurs autocompletes natives
  • accessible révéler basculer

Éviter

  • Afficher les mots de passe par défaut
  • des erreurs vagues comme “Mot de passe non valide”
  • icônes personnalisées qui entrent en conflit avec révéler
  • champs de mot de passe réservé
  • Règles de validation cachées dans le composant UI

Directives de copie du produitLien vers la section

La copie du mot de passe devrait réduire la friction sans affaiblir les attentes en matière de sécurité.

Exemples d'étiquettes

Labels should stay explicit, predictable, and easy to scan.

PasswordCurrent passwordNew passwordConfirm password

Questions courantesLien vers la section