-
-
Notifications
You must be signed in to change notification settings - Fork 11.3k
Open
Labels
needs:triage[triage] this needs to be triaged by the Ghost team[triage] this needs to be triaged by the Ghost team
Description
Issue Summary
The "Welcome to Ghost" Admin page contains an accessibility violation where the autocomplete attribute for the email input field uses an inappropriate token. According to WCAG Success Criterion 1.3.5 (Identify Input Purpose), the autocomplete value must match the specific purpose of the input to assist users with cognitive disabilities and to enable browser autofill features correctly.
Impact
- Assistive Technology: Screen readers may misidentify the purpose of the field.
- User Experience: Browsers may fail to suggest the user's saved email address, forcing manual entry which increases the cognitive load and error rate.
Technical Details
The current implementation assigns autocomplete="username email" to an input field specifically defined as type="email". While an email address is often used as a username, for accessibility compliance and optimal autofill behavior, the token should reflect the data type being requested.
Steps to Reproduce
- Run Ghost in development mode
yarn dev- Navigate to the Ghost Admin lives page
http://localhost:2368/ghost/
- Inspect the "Email address" input field
Observe the autocomplete attribute is set to"username email".
<input name="email" autocomplete="username email" placeholder="jamie@example.com" autocorrect="off" id="email" class="ember-text-field gh-input ember-view" data-test-email-input="" type="email">- Run the Accessibility Checker (e.g., IBM A11Y Checker)
Ghost Version
Last
Node.js Version
v22.14.0
How did you install Ghost?
local
Database type
Other
Browser & OS version
Microsoft Edge & Windows 11
Relevant log / error output
Code of Conduct
- I agree to be friendly and polite to people in this repository
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
needs:triage[triage] this needs to be triaged by the Ghost team[triage] this needs to be triaged by the Ghost team