accordion
FreeUse when implementing expand and collapse content sections.
The English summary is being prepared. Showing the original description.
Use when implementing user authentication and sign-in forms.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
User authentication and sign-in forms
Login Form is the primary gateway through which users authenticate and gain access to protected content and features. It typically consists of an identifier field (email or username), a password field, and a submit button, often accompanied by "Remember me", "Forgot password", and social login options. A well-designed login form balances security with usability — minimizing friction for legitimate users while protecting against unauthorized access.
Use Login Form to authenticate returning users and grant access to protected resources. Common scenarios include:
references/pattern.md, then choose the smallest viable variation.Do's ✅
<label> elements using for/id pairingautocomplete="email" and autocomplete="current-password" for browser autofillrole="alert" and link them to fields via aria-describedbyaria-invalid="true"aria-label when toggledplaceholder as a replacement for labelsPrefetch the Post-Login Destination
<link rel="prefetch" href="/dashboard" />
The Problem: Error messages like "No account with that email" or "Wrong password" let attackers enumerate valid accounts.
How to Fix It: Use a generic message: "Invalid email or password. Please try again." Apply the same response time for both cases.
The Problem: Users can submit the form endlessly with no indication that their account is being locked or rate-limited.
How to Fix It: After 3-5 failed attempts, show a message: "Too many attempts. Please wait 30 seconds before trying again." Implement server-side rate limiting with exponential backoff.
The Problem: The form clears the email field on failed login
How to Fix It: Preserve the email value after a failed attempt. Only clear the password field, as retyping the password is a security best practice.
For full implementation detail, examples, and testing notes, see references/pattern.md.
Pattern page: https://uxpatterns.dev/patterns/authentication/login
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use when implementing expand and collapse content sections.
The English summary is being prepared. Showing the original description.
Use when implementing user account configuration and preferences.
The English summary is being prepared. Showing the original description.
Use when implementing social activity and updates stream.
The English summary is being prepared. Showing the original description.
Use when implementing conversational AI chat interfaces.
The English summary is being prepared. Showing the original description.
Use when implementing handling AI-specific errors.
The English summary is being prepared. Showing the original description.
Use when implementing loading states for AI operations.
The English summary is being prepared. Showing the original description.