-
Notifications
You must be signed in to change notification settings - Fork 24.8k
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
Accessibility Audit of Angular.io - Homepage only #16005
Comments
@marcysutton Regarding "DEVIntersection button - needs a focus style in addition to more contrast." do you mean the "Register Now" button that has a focus style or something else? |
@sjtrimble oh yes! That's what I meant. The "Register Now" button in that callout region. |
@marcysutton Your comments asks for the addition of a focus style, but it already has this. I want to make sure I'm not missing anything here. Can you confirm? Thanks a bunch! |
@sjtrimble are you looking at a different build perhaps? The site linked above in my ticket definitely does not have a focus style for that link button–it has hover only. Here's a screenshot: |
@marcysutton My error!! Thanks for clarifying. Will look into that :) |
@marcysutton regarding
I see that @sjtrimble did add the |
"DevIntersection Button" is checked "done" because it no longer exists. |
@wardbell the idea is to provide a heading to the Search Results section for screen reader users, because they often navigate by headings. It could just as easily be a regular visible heading; but a using "visually-hidden" CSS preserves the existing design by hiding it from sighted users yet providing semantic structure for screen reader navigation. Making this new heading an h2 and restructuring the other Search Result headings as h3's will make it into a proper content hierarchy. There are multiple ways to code visually hidden CSS; this method should work fine. |
@marcysutton Can we use |
This enables keyboarders to tab from the search box into the results. Important for a11y according to issue angular#16005.
PR #16468 Moves search results under search box (just below the top toolbar). The first tab out of the search box ends up in the first result. I believe that's what was necessary to check a box in the Search Results section above. |
@marcysutton regarding Search Results item:
I think it does that now. When I type in the search box and hit escape, I stay in the search box. What behavior are we missing? If I mouse or tab out of the search box and then hit escape, I do not return to the search box. Should I? Is that what you mean? |
I am pretty sure that's what she meant 😃 |
This enables keyboarders to tab from the search box into the results. Important for a11y according to issue #16005.
For improved accessibility, the focus should be sent back to the input box when we are displaying the search results and the user hits ESC. See angular#16005
For improved accessibility, the focus should be sent back to the input box when we are displaying the search results and the user hits ESC. See angular#16005
For improved accessibility, the focus should be sent back to the input box when we are displaying the search results and the user hits ESC. See #16005
Fixed
in #16758 |
Fixed:
in #16807 |
All the checkboxes are ticked! |
Noting that there may still be additional issues on other pages in the absence of a full audit, I found another serious item. The The anchors have To fix these, I'd move the hover state to the anchor and add a focus state at the same time. Remove |
Moving the issue with the heading anchors to a new issue: #16854 |
This enables keyboarders to tab from the search box into the results. Important for a11y according to issue angular#16005.
For improved accessibility, the focus should be sent back to the input box when we are displaying the search results and the user hits ESC. See angular#16005
This enables keyboarders to tab from the search box into the results. Important for a11y according to issue angular#16005.
For improved accessibility, the focus should be sent back to the input box when we are displaying the search results and the user hits ESC. See angular#16005
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
I was asked by the Angular team to do an accessibility audit of the new Angular.io. Here is the initial bug report:
Color Contrast
For font-sizes under 18px, the contrast ratio must be 4.5:1 to be visible. For large/bold text, it can be 3:1. The text and links in the footer would benefit from a darker background, or bold text / larger font size so they are more legible to people with low vision. And yes, there are low-vision web developers!
21 Color Contrast Violations
Element has insufficient color contrast of 1.38 (foreground color: #ffffff, background color: #dbdbdb, font size: 10.5pt, font weight: normal)
Element has insufficient color contrast of 4.41 (foreground color: #fafafa, background color: #1976d2, font size: 10.5pt, font weight: normal)
Misc HTML Violations
<input placeholder="Search">
- ideally this would have a visible, paired label to give it a larger hit area, butaria-label
would work tooImages Missing Alt Text (6)
<img src="assets/images/logos/angular/angular.svg" class="hero-logo">
- Should sayalt="Angular"
<img src="assets/images/home/responsive-framework.svg">
- Can bealt="responsive framework"
. Has a hover style, so it should have an alt.<img src="assets/images/home/speed-performance.svg">
- Can bealt="Speed and performance"
since it has a hover style<img src="assets/images/home/joyful-development.png">
- Can bealt="IDE example"
<img src="assets/images/home/loved-by-millions.png">
- Can bealt="Angular on the map"
<img src="assets/images/logos/anglebrackets/devintersection.png" width="64">
- Can be empty:alt=""
Manual Audit - General
DIV.mat-sidenav-content
should haverole="main"
to indicate the main content area as a landmark for screen reader users.Sidenav
Search Results
Let me know if you have any questions.
The text was updated successfully, but these errors were encountered: