Accessibility - WCAG20 Validation Rules

From MemberWiki

Jump to: navigation, search

Accessibility Home | Issue Tracker | WCAG 2.0 Rules | Rules Format 1.0 | Cache | Proposed WCAG 2.0 Techniques | Rule Review | Testsuite | Evaluation Results | Reporting Practices

Contents

Structure of the document

The accessibility validation rules enumerated in this document directly support WCAG 2.0, some with reference to the Document Object Model (DOM) and some with reference to the WAI-ARIA specification and WAI-ARIA best practices. Rules are divided according to the four principles of WCAG 2.0:

  1. Perceivable - Information and user interface components must be presentable to users in ways they can perceive
  2. Operable - User interface components and navigation must be operable
  3. Understandable - Information and the operation of user interface must be understandable
  4. Robust - Content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive technologies

Within each section representing a WCAG 2.0 principle is a table that contains:

  1. the guideline number, linked to that guideline in WCAG 2.0
  2. the success criterion
  3. the list of validation rules that apply to that criterion along with a suggested rule id for each rule
  4. a suggested violation level for each rule
  5. relevant techniques for implementing the success criterion or passing the given rules

For more information about the structure of WCAG 2.0 and an explanation of principles, guidelines, success criteria, and techniques, see WCAG 2.0 Layers of Guidance. Also, note that this document currently restricts itself to A and AA compliance for WCAG 2.0. Future work may include validation rules for AAA-level success criteria.

Although this document enumerates rules that directly support WCAG 2.0, there is no reason that the rule logic for evaluating each rule could not be reused in testing the items in other checklists. Indeed, one of the chief aims of this task force is to produce reusable rule objects that are readily-consumable and to help tool vendors avoid duplicating rule logic.

Rule ids

The rule ids used in this document are only suggestions but will be used within the group to identify particular rules mentioned on this page, in related documents, and to be found in the rules repository. Rule ids are taken from an assigned range of numeric values based upon the contributing organization. (See the Accessibility_Validation_Rule_Codification_Requirements for more information.) The importance of an id is to identify a piece of rule logic that, when executed successfully, indicates only that the test embodied by that rule has been passed. Most tool vendors and open-source tool developers will already have their own rule ids in place or an algorithm for adding other rule ids. Again, the hope is that rule logic will be reused and that the use of WCAG 2.0-oriented rule ids in this document does not discourage this practice.

Severity Levels

Only one of the following violation levels may be assigned to a rule in this document:

Violation (V)
Indicates a direct violation of a success criterion or undermines a technique for implementing a success criterion
Recommendation (R)
Indicates direct violation of or nonconformance to a best practice
Potential Violation (PV)
A condition for a potential violation has been met
A manual test is required to determine if success criterion have been met
Potential Recommendation (PR)
A condition for a potential recommendation has been met
A manual test is required to determine if best practice has been met

As in the case of rule ids, The above violation levels are only suggestions but will be used throughout this document to indicate the impact to a piece of content or to an application of a particular rule's failing. Tool venders are free to map these levels to their own violation levels and to add additional violation levels as they see fit.

Priority Levels

Only one of the following priorities levels may be assigned to a rule in this document. Priority levels are relative to each other for a requirement, so Priority 1 items should be addressed before Priority 2 items, and Priority 2 items before Priority 3 items.

Priority 1 (P1)
If there are multiple violations on the page, the Priority 1 items should be addressed first
Priority 2 (P2)
If there are multiple violations on a page, Priority 2 should be addressed after all Priority 1 violations have been eliminated
Priority 3 (P3)
If there are multiple violations on a page, Priority 3 should be addressed after all Priority 2 violations have been eliminated

WGAG 2.0 Mapping of Rules

Principle 1. Perceivable - Information and user interface components must be presentable to users in ways they can perceive.

Guideline 1.1 Text Alternatives: Provide text alternatives for any non-text content so that it can be changed into other forms people need, such as large print, braille, speech, symbols or simpler language.

ID Status Priority Severity Rule Description
Requirement 1.1.1 Non-text Content
Rule 1 Accepted P1 Violation Rule 1: Images must have valid alt text. Last updated: 2011-03-31
Rule 2 Accepted P1 Violation Rule 2: Image file name is not valid alt text. Last updated: 2011-03-31
Rule 3 Accepted P1 Violation Rule 3: Certain words cannot be used as a part of valid alt text Last updated: 2011-03-31
Rule 4 Accepted P1 Recommendation Rule 4: Length of alt text. Last updated: 2011-03-31
Rule 5 Accepted P1 Violation Rule 5: Longdesc must have valid URI. Last updated: 2011-03-31
Rule 6 Accepted P1 Violation Rule 6: If an image has an alt or title attribute, it should not have a presentation role. Last updated: 2011-03-31
Rule 78 Proposed P1 Potential Violation Rule 78: ALT text must describe content or purpose of image Last updated: 2011-03-31


Guideline 1.2 Time-based Media: Provide alternatives for time-based media.

ID Status Priority Severity Rule Description
Requirement 1.2.1 Audio-only and Video-only (Prerecorded)
Rule 79 Proposed P1 Potential Violation Rule 79: Prerecorded audio with no video or image tracks needs a text transcript which includes speaker information. Last updated: 2011-03-31
Rule 80 Proposed P1 Potential Violation Rule 80: Prerecorded video with no audio track needs text or audio descriptions of the video content. Last updated: 2011-03-31
Requirement 1.2.2 Captions (Prerecorded)
Rule 81 Proposed P1 Potential Violation Rule 81: Prerecorded video with audio track needs synchronized captions. Last updated: 2011-03-31
Requirement 1.2.3 Audio Description or Media Alternative (Prerecorded)
Rule 82 Proposed P1 Potential Violation Rule 82: Prerecorded video with audio track needs a audio or text description of the video content. Last updated: 2011-03-31
Requirement 1.2.4 Captions (Live)
Rule 83 Proposed P1 Potential Violation Rule 83: Live audio of speech requires realtime captioning of the speakers. Last updated: 2011-03-31
Requirement 1.2.5 Audio Description (Prerecorded)
Rule 84 Proposed P1 Potential Violation Rule 84: Synchronized audio descriptons of video. Last updated: 2011-03-31
Requirement 1.2.6 Sign Language (Prerecorded)
Rule 85 Proposed P1 Potential Violation Rule 85: Synchronized sign language for audio track. Last updated: 2011-03-31
Requirement 1.2.7 Extended Audio Description (Prerecorded)
Rule 86 Proposed P1 Potential Violation Rule 86: Extended audio description if audio track does not provided enhough time to fully describe video content. Last updated: 2011-03-31
Requirement 1.2.8 Media Alternative (Prerecorded)
Rule 87 Proposed P1 Potential Violation Rule 87: Text alternative to audio and video content Last updated: 2011-03-31
Requirement 1.2.9 Audio-only (Live)
Rule 88 Proposed P1 Potential Violation Rule 88: Provide text alternatives to live audio Last updated: 2011-03-31


Guideline 1.3 Adaptable: Create content that can be presented in different ways (for example simpler layout) without losing information or structure.

ID Status Priority Severity Rule Description
Requirement 1.3.1 Info and Relationships
Rule 7 Accepted P1 Violation Rule 7: Data tables must use summary attribute. Last updated: 2011-03-31
Rule 8 Accepted P1 Violation Rule 8: Data tables must use th elements Last updated: 2011-03-31
Rule 9 Accepted P1 Violation Rule 9: Summary attribute content must be unique. Last updated: 2011-03-31
Rule 10 Accepted P1 Violation Rule 10: Complex data tables must have ids on th elements. Last updated: 2011-03-31
Rule 11 Accepted P1 Violation Rule 11: For complex data tables table ids must be unique. Last updated: 2011-03-31
Rule 12 Accepted P1 Violation Rule 12: Complex data table td elements must have header attributes. Last updated: 2011-03-31
Rule 13 Accepted P1 Violation Rule 13: Complex data tables header ids must be on the page. Last updated: 2011-03-31
Requirement 1.3.2 Meaningful Sequence
Rule 14 Accepted P1 Potential Violation Rule 14: Do not use nested tables for positioning. Last updated: 2011-03-31
Requirement 1.3.3 Sensory Characteristics
Rule 90 Accepted P1 Potential Violation Rule 90: Instructions and operation must be accessible and not depend on solely on color, size, location or sound . Last updated: 2011-03-31


Guideline 1.4 Distinguishable: Make it easier for users to see and hear content including separating foreground from background.

ID Status Priority Severity Rule Description
Requirement 1.4.1 Use of Color
Rule 89 Proposed P1 Potential Violation Rule 89: Verify that color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element. Last updated: 2011-03-31
Requirement 1.4.2 Audio Control
Rule 91 Accepted P1 Potential Violation Rule 91: Verify audio does not start playing automatically when document is loaded. Last updated: 2011-03-31
Requirement 1.4.3 Contrast (Minimum)
Rule 15 Accepted P1 Violation Rule 15: Color contrast ratio must be > 3 for large text Last updated: 2011-03-31
Requirement 1.4.4 Resize text
Rule 92 Accepted P2 Potential Violation Rule 92: Verify only relative font sizes are used to define font sizes. Last updated: 2011-03-31
Requirement 1.4.5 Images of Text
Rule 93 Accepted P2 Potential Violation Rule 93: Verify that images are not being used only to stylize text. Last updated: 2011-03-31
Requirement 1.4.6 Contrast (Enhanced)
Rule 16 Accepted P2 Violation Rule 16: Color contrast ratio should be > 4.5 Last updated: 2011-03-31
Requirement 1.4.7 Low or No Background Audio
none
Requirement 1.4.8 Visual Presentation
none
Requirement 1.4.9 Images of Text (No Exception)
none



Principle 2. Operable - User interface components and navigation must be operable.

Guideline 2.1 Keyboard Accessible: Make all functionality available from a keyboard.

ID Status Priority Severity Rule Description
Requirement 2.1.1 Keyboard
Rule 18 Accepted P1 Violation Rule 18: Focusable elements with MouseOver should also have OnFocus event handlers. Last updated: 2011-03-31
Rule 19 Accepted P1 Violation Rule 19: Focusable elements with an OnMouseOut should also have OnBlur event handlers. Last updated: 2011-03-31
Rule 20 Accepted P1 Violation Rule 20: Every onClick event handler should be on a focusable element. Last updated: 2011-03-31
Rule 21 Accepted P2 Violation Rule 21: OnChange event handler should not be used with the select element. Last updated: 2011-03-31
Rule 22 Accepted P1 Violation Rule 22: onmousedown, onmouseup and onmousemove event handlers should have keyboard equivalents. Last updated: 2011-03-31
Rule 73 Accepted P1 Violation Rule 73: Check that non-form and non-anchor elements with event handlers have valid roles. Last updated: 2011-03-31
Rule 74 Accepted P1 Violation Rule 74: Check that elements with mouse event handlers also have key event handlers Last updated: 2011-03-31
Rule 75 Accepted P1 Violation Rule 75: Check that enabled elements with ACTIVE-DESCENDANT have valid tab index Last updated: 2011-03-31
Rule 76 Accepted P1 Violation Rule 76: Check that elements without 'aria-activedescendant' that have roles requiring a container have focusable children Last updated: 2011-03-31
Rule 77 Accepted P1 Violation Rule 77: Check that elements without 'aria-activedescendant' that have roles requiring a container have key event handlers Last updated: 2011-03-31
Requirement 2.1.2 No Keyboard Trap
none
Requirement 2.1.3 Keyboard (No Exception)
Rule 23 Accepted P2 Violation Rule 23: Accesskey attribute values should be unique. Last updated: 2011-03-31
Rule 24 Accepted P2 Violation Rule 24: Accesskey attribute values should not interfere with IE shortcuts. Last updated: 2011-03-31


Guideline 2.2 Enough Time: Provide users enough time to read and use content.

ID Status Priority Severity Rule Description
Requirement 2.2.1 Timing Adjustable
none
Requirement 2.2.2 Pause, Stop, Hide
Rule 25 Accepted P1 Violation Rule 25: The blink and marquee elements must not be used. Last updated: 2011-03-31
Requirement 2.2.3 No Timing
none
Requirement 2.2.4 Interruptions
none
Requirement 2.2.5 Re-authenticating
none


Guideline 2.3 Seizures: Do not design content in a way that is known to cause seizures.

ID Status Priority Severity Rule Description
Requirement 2.3.1 Three Flashes or Below Threshold
none
Requirement 2.3.2 Three Flashes
none


Guideline 2.4 Navigable: Provide ways to help users navigate, find content, and determine where they are.

ID Status Priority Severity Rule Description
Requirement 2.4.1 Bypass Blocks
Rule 26 Accepted P1 Violation Rule 26: Frame element must have a title attribute. Last updated: 2011-03-31
Rule 27 Accepted P1 Violation Rule 27: Title attributes for frames must be unique. Last updated: 2011-03-31
Rule 28 Accepted P2 Recommendation Rule 28: Frames should not be hidden or empty. Last updated: 2011-03-31
Requirement 2.4.2 Page Titled
Rule 29 Accepted P1 Violation Rule 29: Title element should not be empty. Last updated: 2011-03-31
Rule 30 Accepted P1 Recommendation Rule 30: Missing or empty H1 element. Last updated: 2011-03-31
Rule 31 Accepted P1 Recommendation Rule 31: H1 element content should not come only from the alt text of an image. Last updated: 2011-03-31
Rule 32 Accepted P1 Recommendation Rule 32: H1 should match a subset of the words in the title element. Last updated: 2011-03-31
Rule 33 Accepted P1 Recommendation Rule 33: No more than two h1 elements. Last updated: 2011-03-31
Rule 61 Accepted P1 Violation Rule 61: Title content should be concise. Last updated: 2011-03-31
Rule 62 Accepted P1 Violation Rule 62: Title text must contain more than one word. Last updated: 2011-03-31
Requirement 2.4.3 Focus Order
none
Requirement 2.4.4 Link Purpose (In Context)
Rule 34 Accepted P1 Recommendation Rule 34: Link text should be as least four 4 characters long. Last updated: 2011-03-31
Rule 35 Accepted P1 Violation Rule 35: Links with the same HREF should have the same link text. Last updated: 2011-03-31
Rule 36 Accepted P1 Violation Rule 36: Links that point to different HREFs should have different link text. Last updated: 2011-03-31
Rule 37 Accepted P1 Recommendation Rule 37: Images should be at least 16 pixels by 16 pixels when used as links. Last updated: 2011-03-31
Rule 38 Accepted P1 Violation Rule 38: Links with images and text content, the alt attribute should be unique to the text content or empty. Last updated: 2011-03-31
Requirement 2.4.5 Multiple Ways
none
Requirement 2.4.6 Headings and Labels
Rule 39 Accepted P1 Violation Rule 39: Headings must have text content. Last updated: 2011-03-31
Rule 40 Accepted P1 Recommendation Rule 40: Text content for a headings must not come just from image alt text. Last updated: 2011-03-31
Rule 41 Accepted P1 Recommendation Rule 41: Heading content should be concise. Last updated: 2011-03-31
Rule 42 Accepted P1 Violation Rule 42: Heading elements should be properly nested. Last updated: 2011-03-31
Rule 43 Accepted P1 Recommendation Rule 43: The content of the headings of the same level within the same section should be unique. Last updated: 2011-03-31
Rule 44 Accepted P1 Potential Violation Rule 44: Heading elements (h1..h6) should be used for structuring information on the page. Last updated: 2011-03-31
Requirement 2.4.7 Focus Visible
none
Requirement 2.4.8 Location
none
Requirement 2.4.9 Link Purpose (Link Only)
none
Requirement 2.4.10 Section Headings
none



Principle 3. Understandable - Information and the operation of user interface must be understandable.

Guideline 3.1 Readable: Make text content readable and understandable.

ID Status Priority Severity Rule Description
Requirement 3.1.1 Language of Page
Rule 45 Accepted P1 Violation Rule 45: Each page must have a lang attribute on its html element. Last updated: 2011-03-31
Rule 46 Accepted P1 Violation Rule 46: lang attribute on html element must have a valid two-character language code. Last updated: 2011-03-31
Requirement 3.1.2 Language of Parts
none
Requirement 3.1.3 Unusual Words
none
Requirement 3.1.4 Abbreviations
none
Requirement 3.1.5 Reading Level
none
Requirement 3.1.6 Pronunciation
none


Guideline 3.2 Predictable: Make Web pages appear and operate in predictable ways.

ID Status Priority Severity Rule Description
Requirement 3.2.1 On Focus
none
Requirement 3.2.2 On Input
none
Requirement 3.2.3 Consistent Navigation
none
Requirement 3.2.4 Consistent Identification
none
Requirement 3.2.5 Change on Request
none


Guideline 3.3 Input Assistance: Help users avoid and correct mistakes.

ID Status Priority Severity Rule Description
Requirement 3.3.1 Error Identification
none
Requirement 3.3.2 Labels or Instructions
Rule 47 Accepted P1 Violation Rule 47: Each fieldset element should contain a legend element. Last updated: 2011-03-31
Rule 48 Accepted P1 Recommendation Rule 48: The label element should not encapsulate select and textarea elements. Last updated: 2011-03-31
Rule 49 Accepted P1 Violation Rule 49: Each input element with type=text | password | checkbox | radio | file and each select and textarea element should either be referenced by the for attribute of a label element via its id attribute, or have a title attribute. Last updated: 2011-03-31
Rule 50 Accepted P1 Violation Rule 50: Input element of type=[image] must have an alt or a title attribute. Last updated: 2011-03-31
Rule 51 Accepted P2 Recommendation Rule 51: Input elements where type=[button|submit|reset] must have a value or title attribute. Last updated: 2011-03-31
Rule 52 Accepted P1 Violation Rule 52: Each button element must contain content. Last updated: 2011-03-31
Rule 53 Accepted P1 Violation Rule 53: Effective labels should be unique. Last updated: 2011-03-31
Rule 54 Accepted P1 Violation Rule 54: Labels must have text content. Last updated: 2011-03-31
Rule 55 Accepted P1 Violation Rule 55: Legends must have text content. Last updated: 2011-03-31
Rule 56 Accepted P1 Recommendation Rule 56: Title attributes used for labeling form controls must have content. Last updated: 2011-03-31
Rule 57 Accepted P1 Violation Rule 57: Form controls must have unique ids. Last updated: 2011-03-31
Requirement 3.3.3 Error Suggestion
none
Requirement 3.3.4 Error Prevention (Legal, Financial, Data)
none
Requirement 3.3.5 Help
none
Requirement 3.3.6 Error Prevention (All)
none



Principle 4. Robust - Content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive technologies.

Guideline 4.1 Compatibility with Assistive Technologies: Maximize compatibility with current and future user agents, including assistive technologies.

ID Status Priority Severity Rule Description
Requirement 4.1.1 Parsing Content
Rule 17 Accepted P2 Violation Rule 17: Do not use the FONT element to style text Last updated: 2011-03-31
Rule 58 Accepted P2 Violation Rule 58: Do not use the B element. Last updated: 2011-03-31
Rule 59 Accepted P2 Violation Rule 59: Do not use the I element. Last updated: 2011-03-31
Rule 60 Accepted P2 Violation Rule 60: Do not use the U element. Last updated: 2011-03-31
Rule 64 Accepted P1 Violation Rule 64: ARIA attributes have valid values Last updated: 2011-03-31
Rule 65 Accepted P1 Violation Rule 65: ARIA ID references must be valid IDRefs Last updated: 2011-03-31
Rule 66 Accepted P1 Violation Rule 66: ARIA attributes can only be used with certain roles Last updated: 2011-03-31
Requirement 4.1.2 Name, Role, Value
Rule 63 Accepted P1 Violation Rule 63: Check aria properties and states for valid roles and properties Last updated: 2011-03-31
Rule 67 Accepted P1 Violation Rule 67: Roles must contain their required child roles Last updated: 2011-03-31
Rule 68 Accepted P1 Violation Rule 68: Child roles must be contained by the proper parent role Last updated: 2011-03-31
Rule 69 Accepted P1 Violation Rule 69: Required properties and states should be defined Last updated: 2011-03-31
Rule 70 Accepted P1 Violation Rule 70: Required properties and states must not be empty Last updated: 2011-03-31
Rule 71 Accepted P1 Violation Rule 71: Role value must be valid Last updated: 2011-03-31
Rule 72 Accepted P1 Violation Rule 72: Check that 'ARIA-' attributes are valid properties and states Last updated: 2011-03-31
Personal tools