-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
V8: Accessibility changes for login screen #5800
V8: Accessibility changes for login screen #5800
Conversation
… to error message to allow screen reader users to understand data inputs and errors
Hi @RachBreeze Thanks for this work! I've assigned the label. We'll take a look and let you know if we need anything more from you, Em |
Hi @emmaburstow thank you |
@RachBreeze I am reasonably certain that adding required as an HTML attribute adds an implicit aria=-required, so you may not need aria-required here. Did you give this a try? :-) |
@zersiax I suspect not, looking at the order of my PRs I found an issue in Angular which was triggering "invalid" prompt to be played to an NVDA screen reader user when a user tabs into an empty required text box prior to entering any information but this was when the textbox was on an |
…to v8/a11y_login # Conflicts: # src/Umbraco.Web.UI.Client/src/views/components/application/umb-login.html # src/Umbraco.Web.UI/Umbraco/config/lang/en.xml # src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
… on tab in. The ngaria work in #6561 is pulled into core will help with alerts here
I have reviewed the PR and when I use "required" and you are correct the user hears "required" but they also hear "invalid entry" when the user tabs into the textboxes and not when they tab out which is why I used aria required. The work @Matthew-Wise is doing on NGAria should also improve accessibility of the alerts |
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.
Sorry 65161 referenced incorrectly
…to v8/a11y_login
…However aria-required must remain, as required reports an invalid entry on NVDA when a user tabs into the textboxes the first time. Whereas with aria-required invalid entry is only reported after the form is submitted
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.
Rachel, this is ace. Lots of work here ad I've done my best to check all over - I'm happy with the approach and I'm happy to approve. 👍
Closing as PR has diverged too far from main branch |
# Conflicts: # src/Umbraco.Web.UI.Client/package-lock.json
@RachBreeze I've merged this one with |
Hi @nul800sebastiaan |
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.
@RachBreeze I don't understand this change (adding if (formHelper.submitForm({ scope: $scope })) {
which was not there before) and the removal of the block:
if (vm.login && vm.password && vm.login.length > 0 && vm.password.length > 0) {
vm.loginForm.username.$setValidity('auth', true);
vm.loginForm.password.$setValidity('auth', true);
}
Can you explain why these changes were made?
# Conflicts: # src/Umbraco.Web.UI.Client/src/common/directives/components/application/umblogin.directive.js
…server error before
I'm still not entirely sure about I added back the block above if (vm.login && vm.password && vm.login.length > 0 && vm.password.length > 0) {
vm.loginForm.username.$setValidity('auth', true);
vm.loginForm.password.$setValidity('auth', true);
} As you can read from the comments this was there because when server errors happen you can never resubmit the login as filled in because they both need to change first. This doesn't hinder the a11y fixes for marking fields as invalid when they are invalid though, so that new code works fine. |
This PR has a number of accessibility changes for the login screen:
inviteUserPasswordForm