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)
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)
Note: Headings and labels must be programmatically determined, per success criterion 1.3.1.
Using unique section headings in a Web Page (future link)
Starting section headings with unique information (future link)
Providing a link to the home page or main page (future link)
G91: Providing link text that describes the purpose of a link using one of the following techniques:
Providing a supplemental description of the purpose of a link using one of the following techniques:
Using the 'live' property to mark live regions (future link) (ARIA)
Identifying default human language(s) using one of the following techniques:
Specifying the default language in the HTTP header (future link)
using http or the Content-Language meta tag for metadata (future link)
Note: This requirement does not apply to individual words. It also does not apply to proper names, to technical terms or to phrases that have become part of the language of the context in which they are used.
Identifying changes in human languages using one of the following techniques:
Making text that is not in the default human language of the Web page visually distinct (future link)
Giving the names of any languages used in foreign passages or phrases (future link)
Marking individual words, especially when they are links to versions in other languages (Deutsch, Français, Nederlands, Castellano, etc.) (future link)
G101: Providing the definition of a word or phrase used in an unusual or restricted way for the first occurrence of the word or phrase in a Web page using one of the following techniques:
G101: Providing the definition of a word or phrase used in an unusual or restricted way for each occurrence of the word or phrase in a Web page using one of the following techniques:
Providing a function to search an on-line dictionary (future link)
Using a dictionary cascade (future link)
G101: Providing the definition of a word or phrase used in an unusual or restricted way for each occurrence of the word or phrase in a Web page using one of the following techniques:
Using the title attribute to provide explanations of words or phrases (future link)
Using markup and visual formatting to help users recognize words that have special meaning (future link)
Providing a voice-enabled dictionary search so that users who have difficulty typing or spelling can speak the word whose definition they need (future link)
Providing a sign language dictionary to help users who are deaf find the necessary definitions (future link)
Providing a mechanism for finding definitions for all words in text content (future link)
Providing a mechanism to determine the meaning of each word or phrase in text content (future link)
Avoiding unusual foreign words (future link)
G102: Providing the expansion or explanation of an abbreviation for the first occurrence of the abbreviation in a Web page using one of the following techniques:
G102: Providing the expansion or explanation of an abbreviation for all occurrences of the abbreviation in a Web page using one of the following techniques:
Providing a function to search an on-line dictionary (future link)
Using a dictionary cascade (future link)
H28: Providing definitions for abbreviations by using the abbr and acronym elements (HTML)
G102: Providing the expansion or explanation of an abbreviation for all occurrences of abbreviations in a Web page using one of the following techniques:
Using the title attribute to provide explanations of words or phrases (future link)
Using unique abbreviations in a Web page (future link)
Using visual formatting to help users recognize abbreviations (future link)
Providing access to a talking dictionary to support users who might have difficulty decoding written definitions (future link)
Providing a voice-enabled dictionary search so that users who have difficulty typing or spelling can speak the word whose definition they need (future link)
G103: Providing visual illustrations of complex ideas, events, and processes
Making the text easier to read (future link)
Providing sign language versions of information, ideas, and processes that must be understood in order to use the content (future link)
Note: Different sites may address this success criterion in different ways. An audio version of the content may be helpful to some users. But if a site is intended for individuals who are deaf, providing an audio file would not be useful. For some people who are deaf, a sign language version of the page may be easier to understand than a written language version since sign language may be their first language. Some sites may decide to do both or other combinations. No technique will help all users who have difficulty. So different techniques are provided as sufficient techniques here for authors trying to make their sites more accessible. Any numbered technique or combination above can be used by a particular site and it is considered sufficient by the Working Group.
Providing text for navigational and landing pages that requires reading ability that is less advanced than the lower secondary education level (future link)
Providing text for interior pages that requires reading ability at the lower secondary education level (future link)
Including content summaries in metadata (future link)
Using the clearest and simplest language appropriate for the content (future link)
Using the Dublin Core accessibility element to associate text content with text, graphical, or spoken supplements (future link)
Using RDF to associate supplements with primary content (future link)
Providing a clear representational image on the site's home page (future link)
Making metadata viewable by humans (future link)
Providing the pronunciation immediately following the word (future link)
Linking to pronunciations (future link)
G62: Providing a glossary that includes pronunciation information for words that have a unique pronunciation in the content and have meaning that depends on pronunciation
Providing pronunciation information using a technology-specific technique below
H62: Using the ruby element (HTML) (XHTML 1.1)
Using standard diacritical marks that can be turned off (future link)
Providing pronunciations in a sound file, so that users can listen to the pronunciations of the word (future link)
Providing a mechanism for finding pronunciations for all foreign words in text content (future link)
Providing a mechanism to determine the pronunciations of each word or phrase in text content (future link)
G80: Providing a submit button to initiate a change of context using a technology-specific technique listed below
G13: Describing what will happen before a change to a form control is made
Using a button with a select element to perform an action (future link)
Hiding and showing content based on a select element change (future link)
Hiding and showing content based on a radio element change (future link)
Using templates to ensure consistency across multiple Web pages (future link)
Creating layout, positioning, layering, and alignment (future link)
Using consistent labels, names, and text alternatives for content that has the same functionality.
Note 1: Text alternatives that are "consistent" are not always "identical." For instance, you may have an graphical arrow at the bottom of a Web page that links to the next Web page. The text alternative may say "Go to page 4." Naturally, it would not be appropriate to repeat this exact text alternative on the next Web page. It would be more appropriate to say "Go to page 5". Although these text alternatives would not be identical, they would be consistent, and therefore would satisfy this success criterion.
Note 2: A single non-text-content-item may be used to serve different functions. In such cases, different text alternatives are necessary and should be used. Examples can be commonly found with the use of icons such as check marks, cross marks, and traffic signs. Their functions can be different depending on the context of the Web page. A check mark icon may function as "approved", "completed", or "included", to name a few, depending on the situation. Using "check mark" as text alternative across all Web pages does not help users understand the function of the icon. Different text alternatives can be used when the same non-text content serves multiple functions.
Ensuring that the text alternative conveys the function of the component and what will happen when the user activates it (future link)
Using the same non-text content for a given function whenever possible (future link)
SVR1: Implementing automatic redirects on the server side instead of on the client side (SERVER)
G110: Using an instant client-side redirect using one of the following techniques:
Including pop-up windows using one of the following techniques:
Using the target attribute to open a new window (future link)
SCR24: Using script to open a new window on user request (Scripting)
F60: Failure of SC 3.2.5 due to launching a new window when a user enters text into an input field
F9: Failure of SC 3.2.5 due to changing the context when the user removes focus from a form element
F22: Failure of SC 3.2.5 due to opening windows that are not requested by the user
F41: Failure of SC 2.2.1, 2.2.5, and 3.2.5 due to using meta refresh with a time-out
Opening new windows by:
Using the target attribute instead of scripts (future link), indicating that the link may open in a new window, or
Providing normal hyperlinks without the target attribute (future link), because many user agents allow users to open links in another window or tab.
G85: Providing a text description when user input falls outside the required format or values
SCR18: Providing client-side validation and alert (Scripting)
Providing client-side validation and adding error text via the DOM (future link)
G139: Creating a mechanism that allows users to jump to errors
Validating form submissions on the server (future link)
Re-displaying a form with a summary of errors (future link)
Providing error notification as the user enters information (future link)
Assisting the user in making corrections by providing links to each error (future link)
Highlighting or visually emphasizing errors where they occur (future link)
Supplementing text with non-text content when reporting errors (future link)
G85: Providing a text description when user input falls outside the required format or values
Providing links to suggested correction text "close to" form fields, or providing the suggested correction text itself directly on the Web page "next to" form fields (future link)
SCR18: Providing client-side validation and alert (Scripting)
Providing client-side validation and adding error text via the DOM (future link)
Providing links to suggested correction text "close to" form fields, or providing the suggested correction text itself directly on the Web page "next to" form fields (future link)
SCR18: Providing client-side validation and alert (Scripting)
Providing client-side validation and adding error text via the DOM (future link)
G139: Creating a mechanism that allows users to jump to errors
Making error messages easy to understand and distinguishable from other text in the Web page (future link)
Validating form submissions on the server (future link)
When mandatory information has not been provided, including descriptions or examples of correct information in addition to identifying the field as mandatory (future link)
Repeating and emphasizing suggestions for correcting each input error in the context of its form field (future link)
Providing a way for the user to skip from each item in a list of suggestions to its corresponding form field (future link)
Providing additional contextual help for the form field requiring change (future link)
Providing a text description that contains information about the number of input errors, suggestions for corrections to each item, and instructions on how to proceed (future link)
Providing a text description that contains suggestions for correction as the first item (or one of the first items) of content, or emphasizing this information in the content (future link)
Displaying errors and suggestions in the context of the original form (for example, re-displaying a form where input errors and suggestions for correction are highlighted and displayed in the context of the original form) (future link)
Providing "correct examples" for data and data formats as initial text in mandatory form fields (future link)
Providing links to suggested correction text "close to" form fields, or providing the suggested correction text itself directly on the Web page "next to" form fields (future link)
SCR18: Providing client-side validation and alert (Scripting)
Providing client-side validation and adding error text via the DOM (future link)
Calling a function from the submit action of a form to perform client side validation (future link)
Reversible: Transactions are reversible.
Checked: Submitted data is checked for input errors before going on to the next step in the process.
Confirmed: A mechanism is available for reviewing, confirming, and correcting information before finalizing the transaction.
Providing a period of time after submission of the form when the order can be updated or canceled by the user (future link)
G98: Providing the ability for the user to review and correct answers before submitting
Providing a dialog to the user which requires confirmation before information is deleted (future link)
Requiring a user to select a confirmation checkbox before submitting an action that causes information to be deleted (future link)
G98: Providing the ability for the user to review and correct answers before submitting
Asking for confirmation before final submission (future link)
Informing the user what irreversible action is about to happen (future link)
SCR18: Providing client-side validation and alert (Scripting)
Placing focus in the field containing the error (future link)
Avoiding use of the same words or letter combinations to begin each item of a drop-down list (future link)
G131: Providing descriptive labels AND one of the following:
Providing text instructions at the beginning of a form or set of fields that describes the necessary input (future link)
Positioning labels to maximize predictability of relationships (future link)
Providing linear form design / grouping similar items (future link)
G83: Providing text descriptions to identify required fields that were not completed
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)
Using scripts to provide context-sensitive bubble help (future link)
Providing help by an assistant in the Web page (future link)
Providing spell checking and suggestions for text input if applicable to the language (future link)
Using the title attribute to provide context-sensitive help
Providing instructions at the top of a form (future link)
Providing instructions at the top of a form (future link)
Checking byte of character and auto-converting to expected byte for text input if applicable (future link)
Reversible: Transactions are reversible.
Checked: Submitted data is checked for input errors before going on to the next step in the process.
Confirmed: A mechanism is available for reviewing, confirming, and correcting information before finalizing the transaction.
Following the sufficient techniques for Success Criterion 3.3.3 for all forms that require the user to submit information.
Note: Start and end tags that are missing a critical character in their formation, such as a closing angle bracket or a mismatched attribute value quotation mark are not complete.
Fully conforming to specifications (future link)
Ensuring that Web pages can be parsed by using one of the following techniques:
Note: This success criterion is primarily for Web authors who develop or script their own user interface controls. For example, standard HTML controls already meet this provision when used according to specification.
G108: Using markup features to expose the name and role, allow user-settable properties to be directly set, and provide notification of changes using technology-specific techniques 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)
Using XHTML role, state, and value attributes if repurposing static elements as interactive user interface components (future link)
SCR21: Using functions of the Document Object Model (DOM) to add content to a page (Scripting)
Using DOM Level 2 events (future link)
Exposing the names and roles, allowing user-settable properties to be directly set, and providing notification of changes using one of the following techniques:
SCR21: Using functions of the Document Object Model (DOM) to add content to a page (Scripting)
Using DOM Level 2 events (future link)
F59: Failure of SC 4.1.2 due to using script to make div or span a user interface control in HTML
Note: This failure may be solved in the future using DHTML roadmap techniques.
Providing labels for all form controls that do not have implicit labels (future link)
In order to conform to WCAG 2.0 all of the following conformance requirements must be met for each Web page:
1.) Level A Conformance: For level A conformance (the minimum level of conformance), the Web page satisfies all the Level A success criteria, or the page satisfies conformance requirement 4.
2.) Level AA Conformance: For level AA conformance, the Web page satisfies all the Level A and Level AA success criteria, or the page satisfies conformance requirement 4.
3.) Level AAA Conformance: For level AAA conformance, the Web page satisfies all the Level A, Level AA and Level AAA success criteria, or the page satisfies conformance requirement 4.
4.) Alternate Versions: If the Web page does not meet all of the success criteria for a specified level, then a mechanism to obtain an alternate version that meets all of the success criteria can be derived from the nonconforming content or its URI, and that mechanism meets all success criteria for the specified level of conformance. The alternate version does not need to be matched page for page with the original (e.g. the alternative to a page may consist of multiple pages). If multiple language versions are available, then conforming versions are required for each language offered.
Editorial Note: As currently worded, requirement #4 ensures that a mechanism is available to find a conforming version from any nonconforming version. The working group is concerned that it has not identified enough supported mechanisms to meet the needs and constraints of different technologies or the limitations authors may have in their content or server. Requirement #4 is therefore "at risk" in its current form. If there are not sufficient techniques to meet the current language, it would have to change. The two options under consideration if that happens both have disadvantages. The options are:
Fallback option #1: Requiring an accessible link from the nonconforming content, which would block use of some current and future technologies if they do not support WCAG conforming links, or
Fallback option #2: Allowing the requirement to be met by a single page with links to the conforming and non-conforming pages, or other techniques that may provide an option to find the conforming version when browsing, but that would leave the user with no way to find the conforming page after reaching a non-conforming page via search, or a link from a blog, email, article, other page etc.
Further discussion of this topic is available at Alternate Versions Conformance Requirement. The working group seeks suggestions for additional sufficient techniques that would allow us to keep the current language as well as comments, input, and thoughts on the two alternatives should we fail to identify enough.
5.) Accessibility-Supported Technologies Only: Only documented accessibility-supported Web technologies are relied upon to meet success criteria. Any information or functionality that is implemented in technologies that are not accessibility supported must also be available via technologies that are accessibility supported.
6.) Non-Interference: If Web technologies that are not accessibility supported are used on a page, or accessibility-supported technologies are used in a non-conforming way, then they do not block the ability of the users to access the rest of the page. Specifically:
No Keyboard Trap: If focus can be moved to technologies that are not accessibility supported using a keyboard interface, then focus can be moved away from that content using only a keyboard interface, and the method for doing so is described before the content is encountered and in a way that meets all Level A success criteria.
Three Flashes or Below Threshold: To minimize the risk of seizures due to photosensitivity, 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 (see Success Criterion 2.3.1).
Non support: The content continues to meet the conformance requirements when the (non accessibility-supported) technology is turned on, turned off, or is not supported by a user agent.
7.) Full pages: Conformance is for full Web page(s) only, and cannot be achieved if part of a Web page is excluded.
8.) Supplemental Information: For the purpose of determining conformance, a conforming alternative to part of a page's content is considered part of the page.
9.) Complete processes: If a Web page that is part of a process does not conform at some level, then no conformance claim is made at that level for any Web pages in that process.
Example: An online store has a series of pages that are used to select and purchase products. All pages in the series from start to finish (checkout) must conform in order to claim conformance for any page that is part of the sequence.
For more information, see Understanding Conformance Requirements.