If text appears overtop of an image, sample the color closest in hue to the color of the text and run it through the checker. If it fails, then you need to change the color of the text, or add an overlay to the image, or both.
Manual review
Images do not contain text
Images have appropriate alt text
Headings are used sequentially
Hover states exist
Site is responsive and reflows properly from 320px and up
Screen Reader Testing
Alternatively, your developer tools will give you access to the accessibility tree which will give you an indication of what content is being passed through to assistive technology.
”. Some intranet documents include session videos.
There are 4 specific aspects of the WCAG guidelines and they are defined by the acronym “POUR”. This is a general summary of what you can find in each area.
Everything in the 1 point rule set has to do with an individual’s ability to perceive the content. It’s broken out into four areas.
1.1 - Text Alternatives.
Could someone perceive this content if they were unable to see it?
Can a machine without eyes understand this content? That’s how assistive technologies work.
1.2 - Time-based Media.
Can anyone, regardless of ability or disability, consume your media?
What if they can only see?
What if they can only hear?
What if they can do neither and depend on assistive technology to interpret content in another manner such as Braille?
What if they have motor difficulties that prevent them from using the interface quickly?
1.3 Adaptable
Do users need to meet specific requirements in order to perceive your page and its content?
Can content be perceived and understood with changes to screen size?
Does content make sense in the order it’s presented? Is its purpose clear programatically?
1.4 Distinguishable
Is the presentation clear and understandable?
Is content easily identified without needing context clues like color?
Does the design interfere with the ability to consume content?
Does anything interfere with the user’s ability to use the whole page? (For example, an autoplay video or audio file would be considered an interference).
Everything in the 4 point rule set has to do with a device’s ability to understand the page. It’s broken out into one area.
4.1 - Compatible
Is the site compatible with current user agents (browsers, operating systems, assistive technologies)?
Will the site be compatible with future user agents (browsers, operating systems, assistive technologies)?
Do all interface-able components provide enough information that their name and role can be programmatically determined?
When states, properties, or values are changed, is that change made available to user agents?
Are status messages presented to the user without requiring focus?
Images make up a good portion of a website’s design and content, but aren’t accessible to users with low or no vision. How do we make sure they get conveyed to users of assistive technology?
When do they need the “alt” attribute?
Always. This can’t be understated. If you are using <img> or <svg>, then you need the alt attribute. This is to create valid HTML and also passes important info about the image to assistive technologies.
These are all valid html:
<img href="path-to-iamge" alt />
<img href="path-to-iamge" alt="" />
<img href="path-to-iamge" alt="An image of a fluffy orange cat playing with a feathered toy" />
Images that are applied via CSS cannot be given the alt attribute. If your image is important for conveying meaning to a user, you need to find an alternative method for providing that context, perhaps through a caption or hidden screen reader text.
What happens if the image has no alt attribute?
If your image has no alt attribute, then the image name will be presented instead.
img_NCBI-macbook-1x-1-743x475
Kanopi-Icon-Confused-Editor-Trimmed
logo-phr@2x-grey
iStock_Civic-425x275
When does the alt tag need to be filled in?
Only if the image is not classified as decorative.
Decorative images could be:
Background designs like dots, arrows, swoops
Icons that accompany visual labels
Lines, shapes, other items that frame headings or other content
Images that are important enough to present to a sighted user are important enough to present to a user with reduced vision.
What about Icons?
If an icon is use decoratively - that is to enhance a label - then they do not need alt text, just the alt attribute. Or if they’re applied via css, then they do not need any sort of attribute.
Icons that sit alone and have no associated label, or add additional context to a label, need to have alt text. A good rule of thumb is if this icon was missing, is context lost? If so, then it needs additional information.
For example:
A phone icon next to a phone number would be fine with an empty attribute.
An icon of a shopping cart with no label would need alt text.
What about when the image is also a link?
This is very common with social media links, or logos. In this case, the alt text of the image should reflect the purpose of the link, not the image.
What makes a good alt tag?
That is a good question and up for debate. There are a couple ways to approach them:
A literal description of the image.
“Smiling Asian woman sitting on a blue couch using a tablet.”
The intended meaning of the image.
Woman happily working from home on her iPad."
Those could both be used to describe the same image, one gives you a better idea of what the image is of, the other a description of the emotion the image is meant to convey. Which is better? That’s the debate. At the end of the day, make sure that users with or without vision understand the same thing.
Landmarks are HTML elements that assistive technology can detect and navigate by. They are extremely useful when used correctly, and can cause confusion when they aren’t.
Your document should follow this structure:
<html>
<head></head>
<body>
<a href="#main">Skip To Main Content</a>
<header></header>
<main id="main"></main>
<footer></footer>
</body>
</html>
All of your content should be inside the <header>, <main>, or <footer>. The primary exception to this rule is the Skip To Link can be outside of these landmarks (this is recommended by Deque, the providers of aXe). The other exception is that <aside> can exist at this same level, however it can also be used within <main> and that is preferable.
Cookie notices are typically added via third party javascript and are placed after the footer. This is outside our control and not a large concern.
<header>
non-semantic: <div role="banner">
Always use <header> unless you can’t, in which case you can assign the roll of banner.
“Banner” does not mean “hero.” It is expected that this element will contain the main navigation.
Limited to 1 per page.
When used inside these elements, it becomes role="generic", therefore does not break the previous rule.
<aside>
<article>
<main>
<nav>
<section>
<main>
non-semantic: <div role="main">
Always use <main> unless you can’t, in which case you can assign the roll of main.
This is the primary content of the document.
The <h1> should be placed within this area.
Limited to 1 per page
This is where a bypass “skip to link” should target