This guide for We The Curious application development is based on the Web Content Accessibility Guidelines (WCAG) 2.1 and cover a wide range of recommendations and requirements for making screen based interfaces more accessible.
Document Status: Beta
This document is in beta. It should be used for reference but may change without notification
Table of Contents
- Status of This Document
- 1 Perceivable
- 1.1 Text Alternatives
- 1.1.1 Non-text Content
- 1.2 Time-based Media
- 1.2.1 Prerecorded Audio-only and Video-only
- 1.2.2 Captions (Prerecorded Media)
- 1.2.3 Sign Language (Prerecorded)
- 1.2.4 Extended Audio Description (Prerecorded)
- 1.3 Adaptable
- 1.3.1 Info and Relationships
- 1.3.2 Meaningful Sequence
- 1.3.3 Sensory Characteristics
- 1.3.4 Orientation
- 1.3.5 Identify Input Purpose
- 1.3.6 Identify Purpose
- 1.4 Distinguishable
- 1.4.1 Use of Color
- 1.4.2 Contrast (Minimum)
- 1.4.3 Resize text
- 1.4.4 Images of Text
- 1.4.5 Background Audio
- 1.4.6 Visual Presentation
- 1.4.7 Images of Text
- 1.4.8 Reflow
- 1.4.9 Non-text Contrast
- 1.4.10 Text Spacing
- 1.4.11 Content on Hover or Focus
- 1.1 Text Alternatives
- 2 Operable
- 2.1 Keyboard Accessible
- 2.1.1 Keyboard focus
- 2.1.2 Keyboard timing
- 2.1.4 Character Key Shortcuts
- 2.2 Enough Time
- 2.2.1 Timing Adjustable
- 2.2.2 Pause, Stop, Hide
- 2.2.3 No Timing
- 2.2.4 Interruptions
- 2.2.5 Re-authenticating
- 2.2.6 Timeouts
- 2.3 Seizures and Physical Reactions
- 2.3.1 Three Flashes or Below Threshold
- 2.3.2 Three Flashes
- 2.3.3 Animation from Interactions
- 2.4 Navigable
- 2.4.1 Titled Screen
- 2.4.2 Focus Order
- 2.4.3 Link Purpose (In Context)
- 2.4.4 Headings and Labels
- 2.4.5 Focus Visible
- 2.4.8 Section Headings
- 2.5 Input Modalities
- 2.5.1 Pointer Gestures
- 2.5.2 Pointer Cancellation
- 2.5.3 Label in Name
- 2.5.4 Motion Actuation
- 2.5.5 Target Size
- 2.1 Keyboard Accessible
- 3.1 Readable
- 3.1.1 Language of Screen
- 3.1.2 Language of Parts
- 3.1.3 Unusual Words
- 3.1.4 Abbreviations
- 3.1.5 Reading Level
- 3.2 Predictable
- 3.2.1 On Focus
- 3.2.2 On Input
- 3.2.3 Consistent Navigation
- 3.2.4 Consistent Identification
- 3.2.5 Change on Request
- 3.3 Input Assistance
- 3.3.1 Error Identification
- 3.3.2 Labels or Instructions
- 3.3.3 Error Suggestion
- 3.3.4 Error Prevention
- 3.3.5 Help
- 3.1 Readable
- 4.1 Compatible
- 4.1.1 Parsing
- 4.1.2 Name, Role, Value
- 4.1.3 Status Messages
- 4.1 Compatible
- 1 Perceivable
Information and user interface components must be presentable to users in ways they can perceive.
1.1 Text Alternatives
Provide text alternatives for any non-text content
1.1.1 Non-text Content
All non-text content that is presented to the user has a text alternative that serves the equivalent purpose, except for the situations listed below.
Audio and Video
If non-text content is primarily intended to create a specific sensory experience text alternatives should provide descriptive identification of the non-text content.
If non-text content is pure decoration, is used only for visual formatting, or is not presented to users, then it is implemented in a way that it can be ignored byscreen readers
1.2 Audio, video and other time-based Media
Provide alternatives for time-based media
1.2.1 Prerecorded Audio-only and Video-only
Closed Captions are provided alongside audio playback
A descriptive audio track is provided that presents equivalent information.
1.2.2 Captions (Prerecorded media)
Closed Captions are provided for all prerecorded audio content in synchronized media
1.2.3 Sign Language (Prerecorded media)
Sign language interpretation is provided for all prerecorded audio content in synchronized media.
1.2.4 Extended Audio Description (Prerecorded)
Where pauses in foreground audio are insufficient to allow audio descriptions to convey the sense of the video, extended audio description is provided for all prerecorded video content in synchronized media.
Create content that can be presented in different ways (for example simpler layout) without losing information or structure.
1.3.1 Info and Relationships
Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text.
1.3.2 Meaningful Sequence
When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined.
1.3.3 Sensory Characteristics
Instructions provided for understanding and operating content do not rely solely on sensory characteristics of components such as shape, color, size, visual location, orientation, or sound.
For requirements related to color, refer to Guideline 1.4.
Content does not restrict its view and operation to a single display orientation, such as portrait or landscape, unless a specific display orientation is essential.
1.3.5 Identify Input Purpose
The purpose of each input field collecting information about the user can be programmatically determined.
1.3.6 Identify Purpose
In content implemented using markup languages, the purpose of User Interface Components, icons, and regions can be programmatically determined.
Make it easier for users to see and hear content including separating foreground from background.
1.4.1 Use of Colour
Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.
1.4.2 Contrast (Minimum)
The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except for the following:
Large-scale text and images of large-scale text have a contrast ratio of at least 3:1;
Text that is part of an inactive user interface component, that are pure decoration, that are not visible to anyone, or that are part of a picture that contains significant other visual content, have no contrast requirement.
Text that is part of a logo or brand name has no contrast requirement.
1.4.3 Resize text
Except for captions and images of text, text can be resized up to 200 percent without loss of content or functionality.
1.4.4 Images of Text
If possible within the design, text is used to convey information rather than images of text
1.4.5 Background Audio
The background sounds are at least 20 decibels lower than the foreground speech content, with the exception of occasional sounds that last for only one or two seconds.
Note: background sound that meets this requirement will be approximately four times quieter than the foreground speech content.
1.4.6 Visual Presentation
Foreground and background colors can be selected by the user.
Text is not justified (aligned to both the left and the right margins).
Line spacing (leading) is at least space-and-a-half within paragraphs, and paragraph spacing is at least 1.5 times larger than the line spacing.
Text can be resized up to 200 percent in a way that does not require the user to scroll horizontally to read a line of text on a full-screen window.
1.4.7 Images of Text
Images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed.
Content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for
Vertical scrolling content for any screen width greater than 320 pixel
Vertical scrolling content for any screen width greater than 256 pixel
1.4.9 Non-text Contrast
The visual presentation of the following have a contrast ratio of at least 3:1 against adjacent colours
User Interface Components
Visual information required to identify user interface components and states
Parts of graphics required to understand the content, except when a particular presentation of graphics is essential to the information being conveyed.
1.4.10 Text Spacing
No loss of content or functionality occurs by setting all of the following and by changing no other style property
Line height (line spacing) to at least 1.5 times the font size
Spacing following paragraphs to at least 2 times the font size
Letter spacing (tracking) to at least 0.12 times the font size
Word spacing to at least 0.16 times the font size.
1.4.11 - Content on Hover or Focus
Where receiving and then removing pointer hover touch focus or keyboard focus triggers additional content to become visible and then hidden, the following are true:
A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content communicates an input error or does not obscure or replace other content
If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing
The additional content remains visible until the hover or focus trigger is removed,the user dismisses it, or its information is no longer valid.
2.1 Keyboard Accessible
2.1.x criteria are only relevant refer to applications which have keyboard input
2.1.1 Keyboard focus
If keyboard focus can be moved to a component of the page using a keyboard interface, then focus can be moved away from that component using only a keyboard interface, and, if it requires more than unmodified arrow or tab keys or other standard exit methods, the user is advised of the method for moving focus away.
Since any content that does not meet this success criteria can interfere with a user's ability to use the whole page, all content on the Web page (whether it is used to meet other success criteria or not) must meet this success criteria.
2.1.2 Keyboard timing
All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes.
2.1.3 Character Key Shortcuts
A keyboard shortcut is not implemented in content using only letter (including upper- and lower-case letters)
2.2 Enough Time
The experience Provide users enough time to read and use content.
2.2.1 Timing Adjustable
For each time limit that is set by the content the user may either:
- Turn off
The user is allowed to turn off the time limit before encountering it
The user is allowed to adjust the time limit before encountering it over a wide range that is at least ten times the length of the default setting
The user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action (for example, "touch to extend"), and the user is allowed to extend the time limit at least ten times
The time limit is a required part of a real-time event and no alternative to the time limit is possible
- Essential Exception The time limit is essential and extending it would invalidate the activity
2.2.2 Pause, Stop, Hide
For any moving, blinking, scrolling or auto updating information that (for example a feed)
- Starts automatically
- Lasts more than five seconds
- Is presented in parallel with other content
There is a mechanism for the user to pause, stop, or hide it unless the movement, blinking, or scrolling is part of an activity where it is essential
For requirements related to flickering or flashing content, refer to the appendix at the end of this document
2.2.3 No Timing
Timing is not an essential part of the event or activity presented by the content,except for non-interactive synchronized media, real-time events or when it is an essential part of the content
Interruptions can be postponed or suppressed by the user, except interruptions involving an emergency.
When an authenticated session expires, the user can continue the activity without loss of data after re-authenticating.
Users are warned of the duration of any user inactivity that could cause session reset or data loss.
2.3 Seizures and Physical Reactions
Content must not be designed in a way that is known to cause seizures or physical reactions.
2.3.1 Three Flashes or Below Threshold
Content does not contain anything that flashes more than three times in any one second period, or the flash is below the general flash and red flash thresholds.
2.3.2 Animation from Interactions
Motion animation triggered by interaction can be disabled, unless the animation is essential to the functionality or the information being conveyed.
Provide ways to help users navigate, find content, and determine where they are.
2.4.1 Titled Screens
Screens have titles that describe topic or purpose that can be programmatically determined.
It is not a requirement that the titles display as part of the screen
2.4.2 Focus Order
If a screen can be navigated sequentially and the navigation sequences affect meaning or operation, focusable components receive focus in an order that preserves meaning and operability.
2.4.3 Link Purpose (In Context)
The purpose of each link can be determined from the link text alone or from the link text alone
2.4.4 Headings and Labels
Headings and labels describe topic or purpose.
2.4.5 Focus Visible
Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible.
2.4.6 Section Headings
Section headings are used to organize the content.
This success criteria covers sections within writing, not user interface components. User Interface components are covered under Success Criterion 4.1.2
2.5 Input Modalities
Make it easier for users to operate functionality through various inputs beyond keyboard.
2.5.1 Pointer Gestures
All functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.
2.5.2 Pointer Cancellation
For functionality that can be operated using a single pointer, the down-event of the pointer is not used to execute any part of the function. The up event should be used
2.5.3 Label in Name
For user interface components with labels that include text or images of text, the name contains the text that is presented visually.
2.5.4 Motion Actuation
Functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when tThe motion is essential for the function and doing so would invalidate the activity.
2.5.5 Target Size
The size of the target for pointer inputs is at least 44 by 44 pixels except when:
The target is in a sentence or block of text
A particular presentation of the target is essential to the information being conveyed.
Information and the operation of user interface must be understandable.
Make text content readable and understandable.
3.1.1 Language of Screen
The default human language of each screen can be programmatically determined.
3.1.2 Language of Parts
The human language of each passage or phrase in the content can be programmatically determined except for proper names, technical terms, words of indeterminate language, and words or phrases that have become part of the vernacular of the immediately surrounding text.
3.1.3 Unusual Words
A mechanism is available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon.
A mechanism for identifying the expanded form or meaning of abbreviations is available.
3.1.5 Reading Level
Text should target a reading age of 11
A mechanism is available for identifying specific pronunciation of words where meaning of the words, in context, is ambiguous without knowing the pronunciation.
Screen should appear and operate in predictable ways.
3.2.1 On Focus
When any user interface component receives focus, it does not initiate a change of context.
3.2.2 On Input
Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component.
3.2.3 Consistent Navigation
Navigational mechanisms that are repeated on multiple Web pages within a set of Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.
3.2.4 Consistent Identification
Components that have the same functionality within an app are identified consistently
3.2.5 Change on Request
Changes of context are initiated only by user request or a mechanism is available to turn off such changes.
3.3 Input Assistance
Help users avoid and correct mistakes.
3.3.1 Error Identification
If an input error is automatically detected,the item that is in error is identified and the error is described to the user in text.
3.3.2 Labels or Instructions
Labels or instructions are provided when content requires user input.
3.3.3 Error Suggestion
(Extended) If an input error is automatically detected and suggestions for correction are known, then the suggestions are provided to the user, unless it would jeopardize the security or purpose of the content.
3.3.4 Error Prevention
For screen that modify or delete user-controllable data in data storage systems, or that submit user test responses,at least one of the following is true:
Data entered by the user is checked for input errors and the user is provided an opportunity to correct them.
A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission.
Context-sensitive help is available.
Content must be robust enough that it can be interpreted by a wide variety of user agents beyond those specified in a brief, including assistive technologies.
Maximize compatibility with current and future user agents, including assistive technologies.
In content implemented using markup languages, elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique.
4.1.2 Name, Role, Value
For all user interface components the name and role can be programmatically determined;states, properties, and values that can be set by the user can be programmatically set;and notification of changes to these items is available to user agents, including assistive technologies.
4.1.3 Status Messages
In content implemented using markup languages, status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.
5.1 Flashing media
A pair of opposing changes in relative luminance that can cause seizures in some people if it is large enough and in the right frequency range
A flash or rapidly changing image sequence is below the threshold (i.e. the content passes) if any of the following are true
There are no more than three general flashes and / or no more than three red flashes within any one-second period
The combined area of flashes occurring concurrently occupies no more than a total of .006 steradians within any 10 degree visual field on the screen (25% of any 10 degree visual field on the screen) at typical viewing distance
A general flash is defined as a pair of opposing changes in relative luminance of 10% or more of the maximum relative luminance where the relative luminance of the darker image is below 0.80; and where "a pair of opposing changes" is an increase followed by a decrease, or a decrease followed by an increase.
A red flash is defined as any pair of opposing transitions involving a saturated red
Exception: Flashing that is a fine, balanced, pattern such as white noise or an alternating checkerboard pattern with "squares" smaller than 0.1 degree (of visual field at typical viewing distance) on a side does not violate the thresholds.
For general software or Web content, using a 341 x 256 pixel rectangle anywhere on the displayed screen area when the content is viewed at 1024 x 768 pixels will provide a good estimate of a 10 degree visual field for standard screen sizes and viewing distances (e.g., 15-17 inch screen at 22-26 inches). (Higher resolutions displays showing the same rendering of the content yield smaller and safer images so it is lower resolutions that are used to define the thresholds.)