Skip to content

NewPasswordForm: broken label–input association (accessibility) #3908

@Nixxx19

Description

@Nixxx19

p5.js version

No response

What is your operating system?

None

Web browser and version

No response

Actual Behavior

  • Password field: htmlFor="password" but id="Password" (case mismatch).
  • Confirm password: htmlFor="confirm password" and id="confirm password" (spaces in ID are invalid).

Labels are not correctly associated with inputs. Screen readers cannot announce the fields properly (WCAG 2.1 Level A violation).

Location: client/modules/User/components/NewPasswordForm.tsx lines 30, 37, 50, 57

Expected Behavior

Each <label htmlFor="..."> must match exactly the id of its associated <input>. IDs must not contain spaces and should be single tokens (e.g. password, confirmPassword).

Steps to reproduce

  1. Open the “Set new password” form (e.g. from reset-password link).
  2. Inspect the password and confirm-password fields: label htmlFor and input id do not match (case and spaces).
  3. Use a screen reader; labels are not announced correctly for these inputs.

Snippet:

// NewPasswordForm.tsx
<label htmlFor="password" className="form__label">...</label>
<input id="Password" ... />   // mismatch: Password vs password

<label htmlFor="confirm password" className="form__label">...</label>
<input id="confirm password" ... />   // invalid: spaces in id

Fix: Use id="password" and id="confirmPassword" with matching htmlFor values (e.g. htmlFor="password" and htmlFor="confirmPassword").

Metadata

Metadata

Assignees

Labels

Area:AccessibilityCategory for accessibility related features and bugsBugError or unexpected behaviors

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions