See the Overview of WCAG 2.0 Documents for an introduction to Web Content Accessibility Guidelines (WCAG) 2.0 and supporting documents.
This Quick Reference is based on the 17 May 2007 WCAG 2.0 draft. It lists all of the requirements (called "success criteria") in WCAG 2.0, along with techniques to meet the requirements. You can customize this Quick Reference to list only the information that you are interested in.
To use the Quick Reference:
Note that all techniques are informative. The "sufficient techniques" listed below are considered sufficient by the WCAG Working Group to meet the success criteria. However, it is not necessary to use these particular techniques. If techniques are used other than those listed by the Working Group, then some other method for establishing the technique's ability to meet the success criteria would be needed. In addition to the 'sufficient techniques', there are also advisory techniques that go beyond WCAG 2.0's requirements. Even content that completely conforms to WCAG will not be fully accessible to every person with a disability, especially people with language, learning, and cognitive disabilities, or multiple severe disabilities. Anyone can submit new techniques to the Working Group at any time. Please see Important New Terms Used in WCAG 2.0 for more information about sufficient techniques and advisory techniques.
Controls-Input: If non-text content is a control or accepts user input, then it has a name that describes its purpose. (See also Guideline 4.1.)
Media, Test, Sensory: If non-text content is multimedia , live audio-only or live video-only content, a test or exercise that must be presented in non-text format , or primarily intended to create a specific sensory experience , then text alternatives at least identify the non-text content with a descriptive text label. (For multimedia, see also Guideline 1.2.)
CAPTCHA: If the purpose of non-text content is to confirm that content is being accessed by a person rather than a computer, then text alternatives that identify and describe the purpose of the non-text content are provided and alternative forms in different modalities are provided to accommodate different disabilities.
Decoration, Formatting, Invisible: If non-text content is pure decoration, or used only for visual formatting, or if it is not presented to users, then it is implemented such that it can be ignored by assistive technology.
G94: Providing short text alternative for non-text content that serves the same purpose and presents the same information as the non-text content using a short text alternative technique listed below
G95: Providing short text alternatives that provide a brief description of the non-text content using a short text alternative technique listed below AND one of the following techniques for long description:
G92: Providing long description for non-text content that serves the same purpose and presents the same information using a long text alternative technique listed below
G82: Providing a text alternative that identifies the purpose of the non-text content using a short text alternative technique listed below
Using HTML form controls and links (future link)
H44: Using label elements to associate text labels with form controls (HTML)
H65: Using the title attribute to identify form controls when the label element cannot be used (HTML)
Using (X)HTML according to spec (future link)
Providing a descriptive label using a short text alternative technique listed below
G68: Providing a descriptive label that describes the purpose of live audio-only and live video-only content using a short text alternative technique listed below
G100: Providing the accepted name or a descriptive name of the non-text content using a short text alternative technique listed below
G143: Providing a text alternative that describes the purpose of the CAPTCHA AND G144: Ensuring that the Web Page contains another CAPTCHA serving the same purpose using a different modality
Implementing or marking the non-text content so that it will be ignored by assistive technology using one of the technology-specific techniques listed below
H36: Using alt attributes on images used as submit buttons (HTML)
H24: Providing text alternatives for the area elements of image maps (HTML)
Providing text alternatives for strings where look-alike glyphs are used in place of letters (e.g. leetspeak) (future link)
Providing text alternatives for ASCII art (future link)
Identifying informative non-text content (future link)
Keeping short descriptions short (future link)
Describing images that include text (future link)
Providing a longer description of the non-text content where only a descriptive label is required using a technology-specific technique (for an accessibility-supported content technology) for long description listed above (future link)
Linking to textual information that provides comparable information (e.g. for a traffic Webcam, a municipality could provide a link to the text traffic report.) (future link)
Providing a transcript of a live audio only presentation after the fact (future link)
Writing for browsers that do not support frame (future link)
Providing alternative content for iframe (future link)
Providing text and non-text alternatives for object (future link)
Not using long descriptions for iframe (future link)
Providing redundant text links for client-side image maps (future link)
Using CSS margin and padding rules instead of spacer images (future link)
Using CSS background, :before or :after rules for decorative images instead of img elements (future link)
Displaying empty table cells (future link)
G87: Providing closed captions using any readily available media format that has a video player that supports closed captioning
G87: Providing closed captions using any of the technology-specific techniques below
Providing a note saying "No sound is used in this clip" for video-only clips (future link)
Using SMIL 1.0 to provide captions for all languages for which there are audio tracks (future link)
Using SMIL 2.0 to provide captions for all languages for which there are audio tracks (future link)
Note: For 1.2.2, 1.2.4, and 1.2.7, if all of the information in the video track is already provided in the audio track, no audio description is necessary.
G69: Providing a full multimedia text alternative including any interaction
G78: Providing a sound track that includes audio description as the primary sound track
G78: Providing a sound track that includes audio description AND associating it with the multimedia content using one of the following techniques:
Providing audio description in its own sound track (future link) AND merging the description track with the original soundtrack of the multimedia content at runtime using one of the following techniques
Using SMIL 1.0 to merge a description track with sound track (future link)
Using SMIL 2.0 to merge a description track with sound track (future link)
Providing audio description in multiple languages in SMIL 1.0 (future link)
Providing audio description in multiple languages in SMIL 2.0 (future link)
Note: If multimedia is completely computer generated, it is not live and is subject to the requirements for pre-recorded multimedia in WCAG 2.0.
G9: Creating captions for live multimedia AND G93: Providing open (always visible) captions
G9: Creating captions for live multimedia AND G87: Providing closed captions using any readily available media format that has a video player that supports closed captioning
G9: Creating captions for live multimedia AND G87: Providing closed captions using one of the following techniques:
Note: Captions may be generated using real-time text translation service.
G78: Providing a sound track that includes audio description as the primary sound track
G78: Providing a sound track that includes audio description AND associating it with the multimedia content using one of the following techniques:
Providing audio description in its own sound track (future link) AND merging the description track with the original soundtrack of the multimedia content at runtime using one of the following techniques
Using SMIL 1.0 to merge a description track with sound track (future link)
Using SMIL 2.0 to merge a description track with sound track (future link)
Providing audio description in multiple languages in SMIL 1.0 (future link)
Providing audio description in multiple languages in SMIL 2.0 (future link)
G54: Including a sign language interpreter in the video stream
Providing a new page that has the video with the sign language interpretation of the audio track (future link)
G81: Providing a synchronized video of the sign language interpreter that can be displayed in a different viewport or overlaid on the image by the player using one of the following techniques
Providing a second version of the movie with extended audio descriptions during halted video segments (future link)
G8: Creating an extended audio description for the multimedia content using one of the following techniques
Adding extended audio description in multiple languages in SMIL 1.0 (future link)
Adding extended audio description in multiple languages in SMIL 2.0 (future link)
G69: Providing a full multimedia text alternative including any interaction using one of the following techniques
Linking to the full text alternative for multimedia including any interaction using one of the following techniques
Providing a corrected script (future link)
Adding detail to audio description (future link)
G115: Using semantic elements to mark up structure AND H49: Using semantic markup to mark emphasized or special text (HTML)
G117: Using text to convey information that is conveyed by variations in presentation of text
Separating information and structure from presentation to enable modification of presentation without altering content (future link)
Making information and relationships conveyed through presentation programmatically determinable using the following techniques:
H51: Using table markup to present tabular information (HTML)
H39: Using caption elements to associate data table captions with data tables (HTML)
H73: Using the summary attribute of the table element to give an overview of data tables (HTML)
H63: Using the scope attribute to associate header cells and data cells in data tables (HTML)
H43: Using id and headers attributes to associate data cells with header cells in data tables (HTML)
H44: Using label elements to associate text labels with form controls (HTML)
H65: Using the title attribute to identify form controls when the label element cannot be used (HTML)
H71: Providing a description for groups of form controls using fieldset and legend elements (HTML)
SCR21: Using functions of the Document Object Model (DOM) to add content to a page (Scripting)
G117: Using text to convey information that is conveyed by variations in presentation of text
Making information and relationships conveyed through presentation programmatically determinable or available in text using the following techniques:
T1: Using standard text formatting conventions for paragraphs (TXT)
T2: Using standard text formatting conventions for lists (TXT)
T3: Using standard text formatting conventions for headings (TXT)
Presenting tabular information in plain text (future link)
Using CSS styles to change or enhance the presentation of structure (future link)
Using CSS rather than tables for page layout (future link)
Positioning labels to maximize predictability of relationships
SCR25: Using Dynamic Web Content Accessibility to programmatically identify form fields as required (Scripting)
Providing labels for all form controls that do not have implicit labels (future link)
G57: Ordering the content in a meaningful sequence for all the content in the Web page
Marking sequences in the content as meaningful using one of the following techniques AND G57: Ordering the content in a meaningful sequence for those sequences
Using left-justified text for languages that are written left to right and right-justified text for languages that are written right-to-left (future link)
Using appropriate justification for languages that are written right-to-left (future link)
Providing a link to linearized rendering (future link)
Providing a style switcher between style sheets that affect presentation order (future link)
Using an image with a text alternative for graphical symbols instead of a Unicode font glyph with the desired graphical appearance but different meaning (future link)
G14: Ensuring that color-encoded information is also available in text
Ensuring that when text color is used to convey information, the text style is visually differentiated without color (future link)
Conveying information redundantly using color (future link)
Changing the background color or border of the element with focus (future link)
G60: Playing a sound that turns off automatically within three seconds
Playing sounds only on user request (future link)
Providing a control near the top of the Web page that turns off sounds that play automatically (future link)
Providing a user interface control to pause or stop multimedia (future link)
Providing a sitewide preference to turn off audio in addition to providing a control near the top of the Web page that turns off sounds that play automatically (future link)
Using a higher contrast value for text that is over a patterned background (future link)
Creating foreground and background contrast (future link)
Using a light pastel background rather than a white background behind black text (future link)
Using Unicode text and style sheets instead of images of text (future link)
Using a higher contrast values for lines in diagrams (future link)
Using greater contrast level for red-black text/background combinations
Using colors that are composed predominantly of mid spectral components for the light and spectral extremes (blue and red wavelengths) for the dark
G142: Using a technology that has commonly-available user agents that support zoom
Ensuring that text containers resize when the text resizes AND using measurements that are relative to other measurements in the content by using one or more of the following techniques:
Techniques for relative measurements
Techniques for text container resizing
Calculating size and position in a way that scales with text size (future link) (SCRIPT)
Providing controls on the Web page that incrementally change the size of the text (future link)
Providing options within the content to switch between layouts that use a variety of font sizes (future link)
Providing large fonts by default (future link)
Avoiding the use of text in raster images (future link)
Using page-percent for container sizes (future link)
Avoiding scaling font sizes smaller than the user-agent default (future link)
Note: The author won't actually know the font size, but should avoid percentage scaling that results in less than 100%
Avoiding justified text (future link)
Providing sufficient inter-line and inter-column spacing (future link)
Using a higher contrast value for text that is over a patterned background (future link)
Using Unicode text and style sheets instead of images of text (future link)
Using a light pastel background rather than a white background behind black text (future link)
Using a higher contrast values for lines in diagrams (future link)
Using greater contrast level for red-black text/background combinations
Using colors that are composed predominantly of mid spectral components for the light and spectral extremes (blue and red wavelengths) for the dark
Note: Background sound that meets this requirement will be approximately one quarter as loud as the foreground speech content.
Not including audio content (future link)
Providing a way for users to adjust auditory levels of foreground and background sound independently (future link)
G146: Using liquid layout AND ensuring that text containers resize when the text resizes AND using measurements that are relative to other measurements in the content by using one or more of the following techniques:
Techniques for relative measurements
Techniques for text container resizing
Calculating size and position in a way that scales with text size (future link) (SCRIPT)
Providing options within the content to switch between layouts that use a variety of font sizes (future link)
Using single-column layouts (future link)
Providing large fonts by default (future link)
Avoiding the use of text in raster images (future link)
Using page-percent for container sizes (future link)
Avoiding scaling font sizes smaller than the user-agent default (future link)
Note: The author won't actually know the font size, but should avoid percentage scaling that results in less than 100%
Avoiding justified text (future link)
Providing sufficient inter-line and inter-column spacing (future link)
Note 1: This exception relates to the underlying function, not the input technique. For example, if using handwriting to enter text, the input technique (handwriting) requires path dependent input but the underlying function (text input) does not.
Note 2: This does not forbid and should not discourage providing mouse input or other input methods in addition to keyboard operation.
G21: Ensuring that users are not trapped in content AND ensuring keyboard control by using one of the following techniques.
Using HTML form controls and links (future link)
G21: Ensuring that users are not trapped in content AND G90: Providing keyboard-triggered event handlers using one of the following techniques:
SCR20: Using both keyboard and other device-specific functions (Scripting)
Making JavaScript actions keyboard accessible (future link)
Creating device-independent image effects (future link)
Providing keyboard access to important links and form controls (future link)
Using unique letter combinations to begin each item of a list (future link)
Choosing the most abstract event handler (future link)
Using the onactivate event (future link)
Avoiding use of common user-agent keyboard commands for other purposes (future link)
No additional techniques exist for this Success Criterion. Follow techniques for Success Criterion 2.1.1. If that is not possible because there is a requirement for analog, time-dependent input, then it is not possible to meet this Level AAA Success Criterion.
Turn off: the user is allowed to turn off the time limit before encountering it; or
Adjust: 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; or
Extend: the user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action (for example, "hit any key"), and the user is allowed to extend the time limit at least ten times; or
Real-time Exception: the time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible; or
Essential Exception: the time limit is part of an activity where timing is essential (for example, time-based testing) and time limits can not be extended further without invalidating the activity.
Providing a way for the user to turn the time limit off (future link)
Providing the user with a means to set the time limit to 10 times the default time limit (future link)
SCR16: Providing a script that warns the user a time limit is about to expire (Scripting) AND SCR1: Allowing the user to extend the default time limit (Scripting)
Using a script to poll the server and notify a user if a time limit is present (future link)
Note: For requirements related to flickering or flashing content, refer to Guideline 2.3.
Using a technology to include blinking content that can be turned off via the user agent (future link)
Using a control in the Web page that stops blinking content (future link) using one of the following techniques:
Setting animated gif images to stop blinking after n cycles (within 3 seconds) (future link)
Providing a link, button, or other mechanism that reloads the page without the blinking content (future link)
SCR22: Using scripts to control blinking and stop it in three seconds or less (Scripting)
Providing a mechanism to stop all content that blinks within a Web page (future link)
Providing the user with a means to stop moving content even if it stops automatically within 3 seconds (future link)
G4: Allowing the content to be paused and restarted from where it was stopped
Using script to scroll content, and providing a mechanism to pause it (future link)
Allowing purely decorative content to be stopped (future link)
G75: Providing a mechanism to postpone any updating of content
Allowing users to request updates instead of automatically updating content (future link)
SCR14: Using scripts to make nonessential alerts optional (Scripting)
Providing options to continue without loss of data using one of the following techniques:
G105: Saving data so that it can be used after a user re-authenticates
Encoding user data as hidden data in re-authorization page (future link)
Note: Refer to Techniques for Addressing Success Criterion 2.2.1 for techniques related to providing notifications about time limits.
Using all possible 341 x 256 pixel rectangles on 1024 x 768 pixel display to represent a 10 degree field of view at normal viewing distance AND G15: Ensuring that content does not violate the general flash threshold or red flash threshold
Note: There is a tool that is available to carry out this test.
G19: Ensuring that no component of the content flashes more than three times in any 1-second period
Using actual viewing distance to calculate a 10 degree field of view in pixels AND G15: Ensuring that content does not violate the general flash threshold or red flash threshold
Note: There is a tool that is available to carry out this test.
G19: Ensuring that no component of the content flashes more than three times in any 1-second period
Reducing contrast for any flashing content (future link)
Avoiding fully saturated reds for any flashing content (future link)
Reducing the number of flashes even if they do not violate thresholds (future link)
Providing a mechanism to suppress any flashing content before it begins (future link)
Reducing contrast for any flashing content (future link)
Avoiding fully saturated reds for any flashing content (future link)
Reducing the number of flashes even if they don't violate thresholds (future link)
Creating links to skip blocks of repeated material using one of the following techniques:
G1: Adding a link at the top of each page that goes directly to the main content area
G123: Adding a link at the beginning of a block of repeated content to go to the end of the block
G124: Adding links at the top of the page to each area of the content
Creating HTML links to skip blocks of content (future link)
Grouping blocks of repeated material in a way that can be skipped, using one of the following techniques:
Providing keyboard access to important links and form controls (future link)
Providing skip links to enhance page navigation (future link)
Providing access keys (future link)
G88: Providing descriptive titles for Web pages AND associating a title with a Web page using one of the following techniques:
G127: Identifying a Web page's relationship to a larger collection of Web pages using a technology-specific technique
Identifying the subject of the Web page (future link)
Providing a meaningful name for identifying frames (future link)
Giving focus to elements in an order that follows sequences and relationships within the content using one of the following techniques:
G91: Providing link text that describes the purpose of a link
Providing a supplemental description of the purpose of a link using one of the following techniques:
Identifying the purpose of a link using link text combined with programmatically determined link context using one of the following techniques:
Using two or more of the following techniques:
Providing a search engine to help users find content (future link)
Including information about presentation modes in tables of contents and concept maps (future link)