Professional Documents
Culture Documents
WCAG Accessibility Testing Guide
WCAG Accessibility Testing Guide
The following guide is organized under WCAG’s four leading principles of accessibility regarding web content. These principles can be
described as:
1. Perceivable - A site must provide text alternatives for non-text content, alternatives for time-based media, layout alternatives for
related or sequential content, and generally make sure all content is easy to see and hear.
2. Operable - A site must provide keyboard access, enough time to read and use content, orientation, clear navigation, and organized
content. A site must also operate safely without flashing.
3. Understandable - Content must be readable, consistent, and predictable. Instructions must be clear and helpful.
4. Robust - Content must be compatible with a variety of user agents and assistive technologies.
The guide focuses on level A and AA success criteria as this is considered a best practice, and is usually the level required by legislation.
The guide provides a quick overview of each success criterion as well as techniques for testing. This list is not exhaustive and does not
include all possible testing techniques or ways of meeting each criterion. Links to the WCAG document are provided in the Success
Criterion column. I encourage you to read these in depth to increase your understanding of the requirement, the techniques that could be
used to meet it, and the common failures.
Principle 1: Perceivable
Success Level What to test for Testing method
Criterion
● If the image is decorative, is the alt attribute ● Navigate to images and icons using a
blank? screen reader and listen to the
Note: empty alt text is not allowed on image links descriptions.
(since they cannot be decorative).
1.2.5: Audio WCAG ● Do videos have audio descriptions that describe Manual
Description 2.0 AA the visual content? ● Check if videos have a selectable audio
track that includes audio descriptions, or
an alternative version of the video that
2
includes described video.
● Are tables marked up correctly? Correct table ● Right click on page elements and select
markup: ‘inspect element”. Inspect the markup to
o Defines column and/or row header cells see whether or not it is correctly
with a <th> tag. implemented. If you’re not sure, research
o Identifies header scope or links headers examples that you can use as a reference.
with data cells using ids in complex For example, the WebAIM website the
tables. For example, if a table has divided ARIA authoring practices document are
into sections and each section has its great places to start.
own headers, there is a programmatic
association between those headers and ● Inspect the heading structure using the
the related cells. Chrome HeadingsMap addon.
o Is not used for layout. In cases where
Assistive Technology
tables are used for layout,
role=”presentation” is used so that AT can
● Navigate through pages with a screen
disregard the table structure.
reader. Is the information on the page,
● Are lists, including navigation items and carousel such as form fields, tables, hidden content,
slides, marked up correctly? Correct list markup show/hide toggles, etc. communicated
o Encases lists in a <ul> (unordered list) or accurately?
<ol> (ordered list) tag, with each item
tagged as <li>.
o Does not split lists that are arranged in
columns visually into separate lists.
3
● Are form fields labeled correctly using the <label>
tag, aria-label or aria-labelledby attribute?
● Are related inputs such as groups of checkboxes
and radio buttons grouped together using a
<fieldset> tag and labeled using a <legend> tag?
● Is content that is visually hidden also hidden from
AT, for example, using either HTML hidden or
aria-hidden?
● Are show-hide toggles communicated to AT
using aria-expanded?
● Do tabs have proper ARIA markup?
4
● Are there pop up elements? If yes, do they have
an aria-haspop attribute?
5
landscape view).
1.3.5 Identify WCAG ● Do forms identify the type of each input field so Manual
Input Purpose 2.1 AA that the inputs can be autocompleted? ● Inspect the code of each input element.
Do the input fields have an autocomplete
attribute with a value that matches the
purpose of the field (e.g. given-name, cc-
number, etc.)?
6
not require horizontal scrolling, and that
you are increasing the text size alone (e.g.
in Firefox: View > Zoom > Zoom Text
Only. In Chrome, download the Zoom Text
Only extension.)
1.4.10 Reflow WCAG ● When content size is increased, does the content ● Increase the content size to 400% (four
2.1 AA resize responsively without requiring vertical times the default size), can you interact
scrolling? with the content without having to scroll
vertically as well as horizontally?
1.4.11 Non-text WCAG ● Are there icons or user interface components that Manual/Automated
contrast 2.1 AA have low contrast? The contrast requirement at is
3:1 or higher. ● Use a colour contrast analyzer such as
TPG Colour Contrast Analyser to check if
different combinations of text and
background colours throughout the site
meet criteria.
7
or overlap
8
Principle 2: Operable
Success Level What to test for Testing method
Criterion
2.1.4 Character WCAG ● Are there any keyboard shortcuts that use only Manual
Key Shortcuts 2.1 A letter, number, punctuation or symbol characters ● If the interface uses keyboard shortcuts,
(without modifier keys such as Ctrl, Alt, etc.)? If check that it is possible to either turn off
yes, is the user able to modify or disable the the shortcuts, or modify them.
shortcuts?
2.2.1: Timing WCAG Does the site contain any time limits that are shorter Manual
Adjustable 2.0 A than 20 hours (such as getting logged out after a certain
period of time)? If yes, is it possible to extend, adjust or ● Check for any time limits on the site.
turn off the time limit? The most common example of
meeting this success criterion is an “Are you still there?”
message that allows users to indicate that they are still
using the site.
Time limits that are essential or time limits that are a
required part of a real-time event (e.g. auction) are
exceptions to this criterion.
9
2.2.2: Pause, WCAG Is there moving content on the page, such as carousels, Manual
Stop, Hide 2.0 A sliders, or animations? If yes, is it possible to stop or
hide the content? ● For all moving content on the page, check
that a mechanism exists that allows the
user to either stop or hide it.
10
shift into the window once it’s opened and then is
constrained there until the user closes the
window?
2.5.1 Pointer WCAG ● Does the content require the use of multipoint Manual
Gestures 2.1 A touch gestures, for example pinch zoom? ● Check that wherever multipoint touch
11
gestures are required, the same task can
be accomplished through user interface
controls. For example, in addition to pinch
zoom, +/- buttons are available to zoom in
and out.
2.5.2 Pointer WCAG ● When clicking, are events happening on a down- Manual
Cancellation 2.1 A event? Can they be undone or reversed? ● For click events, check that actions
happen when the pointer is released (up-
event), rather than when the pointer is
clicked (down-event). Alternatively,this
criterion can be met if the events can be
undone or aborted, for example by moving
the pointer away from the target, or
reversed on the up event.
Exception: some instances require action
on down events, for example playing a
digital piano keyboard.
12
user interface components, does the label
that is communicated by the screen reader
match the visual label?
Tip: Use Tab/Shift+Tab to move through
interactive elements. The input name
should be read out once you land on the
component.
2.5.4 Motion WCAG ● Are there any actions that make use of motion Manual
Actuation 2.1 A actuation, such as shaking a phone to undo ● If any events are triggered by a devices
typing or tilting the screen to progress through motion, check that the event can be
content. If yes, can the same actions be performed by alternative means. For
performed through alternative means? example if an action can be undone by
shaking the phone, is there also an ‘undo’
button?
Principle 3: Understandable
Success Level What to test for Testing method
Criterion
13
3.2.1: On WCAG Manual
● Are there any changes in context, such as a new
Focus 2.0 A
window opening, focus shifting to a different ● Tab through the page to ensure that no
element, or a new page loading, that happen changes in context happen on focus.
when an element receives focus?
14
filled out incorrectly are marked and the error is
described, for example “First name is required”.
15
Principle 4: Robust
Success Level What to test for Testing method
Criterion
4.1.3 Status WCAG ● Are there any status messages on the site, for Manual
Messages 2.1 A example the number of results that come up in a ● Inspect the code of the status message.
search, or the successful submission of a form? If Does it contain a role=”status” or
yes, are these communicated to assistive role=”alert”. In some instances aria-live
technologies? can also be used, however this attribute
should be used only when absolutely
necessary.
Assistive technology
● When performing actions that trigger
status messages, are these messages
communicated by the screen reader in
real time?
16
Resources
● Web Content Accessibility Guidelines 2.0
17