-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Installer: Improves user accessibility by adding missing <form> elements and setting the right focus #20265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Installer: Improves user accessibility by adding missing <form> elements and setting the right focus #20265
Conversation
…e proper form handling also adds a submit action so that you can continue with click of ENTER
… tabbing too much around, i.e. they will start within the form
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR improves installer accessibility by adding proper form handling and focus management. The changes enable keyboard-only navigation through the installer and ensure proper form semantics for better user experience.
- Added automatic focus to first input fields in consent, database, and user steps using the
umbFocusdirective - Wrapped consent step inputs in proper HTML form elements with submit handling
- Added null coalescing operators to prevent uncontrolled input warnings in user form fields
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| installer-consent.element.ts | Added form wrapper, submit handling, and auto-focus for the telemetry slider |
| installer-database.element.ts | Added auto-focus to server address and database name input fields |
| installer-user.element.ts | Added auto-focus to name field and null coalescing for form field values |
src/Umbraco.Web.UI.Client/src/apps/installer/database/installer-database.element.ts
Show resolved
Hide resolved
leekelleher
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested out, it's a much better experience with the keyboard now! 🎉🚀
Description
This has been nagging me for a while: You cannot complete the installer form only by pressing the Enter key. On the telemetry step, you must either tab or use your cursor to click 'Next'.
This pull request improves the user experience in the installer flow by enhancing form accessibility and usability. The main changes include adding automatic focus to key input fields, updating form handling to use proper HTML form semantics, and ensuring form fields have default values to prevent uncontrolled input errors.
Accessibility and Form Usability Improvements:
umbFocusdirective to automatically focus the first relevant input fields in the consent, database, and user installer steps (installer-consent.element.ts,installer-database.element.ts,installer-user.element.ts). [1] [2] [3] [4] [5] [6]<form>and handle the "Next" action via form submission, preventing the default event and ensuring accessibility and keyboard support (installer-consent.element.ts). [1] [2]Form Field Value Handling:
name,email,password) default to empty strings if no value is present, preventing uncontrolled input warnings and improving reliability (installer-user.element.ts). [1] [2] [3]How to test
You can provoke the installer on the mock server by changing the following handler in
browser-handlers.ts:Run
npm run dev:mockand verify that you can complete the installer.