Techniques for WCAG 2.1
ARIA Techniques§
- ARIA1: Using the aria-describedby property to provide a descriptive label for user interface controls
- ARIA2: Identifying a required field with the aria-required property
- ARIA4: Using a WAI-ARIA role to expose the role of a user interface component
- ARIA5: Using WAI-ARIA state and property attributes to expose the state of a user interface component
- ARIA6: Using aria-label to provide labels for objects
- ARIA7: Using aria-labelledby for link purpose
- ARIA8: Using aria-label for link purpose
- ARIA9: Using aria-labelledby to concatenate a label from several text nodes
- ARIA10: Using aria-labelledby to provide a text alternative for non-text content
- ARIA11: Using ARIA landmarks to identify regions of a page
- ARIA12: Using role=heading to identify headings
- ARIA13: Using aria-labelledby to name regions and landmarks
- ARIA14: Using aria-label to provide an invisible label where a visible label cannot be used
- ARIA15: Using aria-describedby to provide descriptions of images
- ARIA16: Using aria-labelledby to provide a name for user interface controls
- ARIA17: Using grouping roles to identify related form controls
- ARIA18: Using aria-alertdialog to Identify Errors
- ARIA19: Using ARIA role=alert or Live Regions to Identify Errors
- ARIA20: Using the region role to identify a region of the page
- ARIA21: Using Aria-Invalid to Indicate An Error Field
- ARIA22: Using role=status to present status messages
- ARIA23: Using role=log to identify sequential information updates
- ARIA24: Semantically identifying a font icon with role="img"
Client-Side Script Techniques§
- SCR1: Allowing the user to extend the default time limit
- SCR2: Using redundant keyboard and mouse event handlers
- SCR14: Using scripts to make nonessential alerts optional
- SCR16: Providing a script that warns the user a time limit is about to expire
- SCR18: Providing client-side validation and alert
- SCR19: Using an onchange event on a select element without causing a change of context
- SCR20: Using both keyboard and other device-specific functions
- SCR21: Using functions of the Document Object Model (DOM) to add content to a page
- SCR22: Using scripts to control blinking and stop it in five seconds or less
- SCR24: Using progressive enhancement to open new windows on user request
- SCR26: Inserting dynamic content into the Document Object Model immediately following its trigger element
- SCR27: Reordering page sections using the Document Object Model
- SCR28: Using an expandable and collapsible menu to bypass block of content
- SCR29: Adding keyboard-accessible actions to static HTML elements
- SCR30: Using scripts to change the link text
- SCR31: Using script to change the background color or border of the element with focus
- SCR32: Providing client-side validation and adding error text via the DOM
- SCR33: Using script to scroll content, and providing a mechanism to pause it
- SCR34: Calculating size and position in a way that scales with text size
- SCR35: Making actions keyboard accessible by using the onclick event of anchors and buttons
- SCR36: Providing a mechanism to allow users to display moving, scrolling, or auto-updating text in a static window or area
- SCR37: Creating Custom Dialogs in a Device Independent Way
- SCR38: Creating a conforming alternate version for a web page designed with progressive enhancement
- SCR39: Making content on focus or hover hoverable, dismissible, and persistent
CSS Techniques§
- C6: Positioning content based on structural markup
- C7: Using CSS to hide a portion of the link text
- C8: Using CSS letter-spacing to control spacing within a word
- C9: Using CSS to include decorative images
- C12: Using percent for font sizes
- C13: Using named font sizes
- C14: Using em units for font sizes
- C15: Using CSS to change the presentation of a user interface component when it receives focus
- C17: Scaling form elements which contain text
- C18: Using CSS margin and padding rules instead of spacer images for layout design
- C19: Specifying alignment either to the left OR right in CSS
- C20: Using relative measurements to set column widths so that lines can average 80 characters or less when the browser is resized
- C21: Specifying line spacing in CSS
- C22: Using CSS to control visual presentation of text
- C23: Specifying text and background colors of secondary content such as banners, features and navigation in CSS while not specifying text and background colors of the main content
- C24: Using percentage values in CSS for container sizes
- C25: Specifying borders and layout in CSS to delineate areas of a Web page while not specifying text and text-background colors
- C27: Making the DOM order match the visual order
- C28: Specifying the size of text containers using em units
- C29: Using a style switcher to provide a conforming alternate version
- C30: Using CSS to replace text with images of text and providing user interface controls to switch
- C31: Using CSS Flexbox to reflow content
- C32: Using media queries and grid CSS to reflow columns
- C33: Allowing for Reflow with Long URLs and Strings of Text
- C34: Using media queries to un-fixing sticky headers / footers
- C35: Allowing for text spacing without wrapping
- C36: Allowing for text spacing override
- C37: Using CSS max-width and height to fit images
- C38: Using CSS width, max-width and flexbox to fit labels and inputs
- C39: Using the CSS reduce-motion query to prevent motion
- C40: Creating a two-color focus indicator to ensure sufficient contrast with all components
- C41: Creating a strong focus indicator within the component
- C42: Using min-height and min-width to ensure sufficient target spacing
- C43: Using CSS margin and scroll-margin to un-obscure content
Common Failures§
- F1: Failure of Success Criterion 1.3.2 due to changing the meaning of content by positioning information with CSS
- F2: Failure of Success Criterion 1.3.1 due to using changes in text presentation to convey information without using the appropriate markup or text
- F3: Failure of Success Criterion 1.1.1 due to using CSS to include images that convey important information
- F4: Failure of Success Criterion 2.2.2 due to using text-decoration:blink without a mechanism to stop it in less than five seconds
- F7: Failure of Success Criterion 2.2.2 due to an object or applet for more than five seconds
- F8: Failure of Success Criterion 1.2.2 due to captions omitting some dialogue or important sound effects
- F9: Failure of Success Criterion 3.2.5 due to changing the context when the user removes focus from a form element
- F10: Failure of Success Criterion 2.1.2 and Conformance Requirement 5 due to combining multiple content formats in a way that traps users inside one format type
- F12: Failure of Success Criterion 2.2.5 due to having a session time limit without a mechanism re-authentication
- F13: Failure of Success Criterion 1.1.1 and 1.4.1 due to having a text alternative that does not include information that is conveyed by color differences in the image
- F14: Failure of Success Criterion 1.3.3 due to identifying content only by its shape or location
- F15: Failure of Success Criterion 4.1.2 due to implementing custom controls that do not use an accessibility API for the technology, or do so incompletely
- F16: Failure of Success Criterion 2.2.2 due to including scrolling content where movement is not essential to the activity without also including a mechanism to pause and restart the content
- F19: Failure of Conformance Requirement 1 due to not providing a method for the user to find the alternative conforming version of a non-conforming Web page
- F20: Failure of Success Criterion 1.1.1 and 4.1.2 due to not updating text alternatives when changes to non-text content occur
- F22: Failure of Success Criterion 3.2.5 due to opening windows that are not requested by the user
- F23: Failure of 1.4.2 due to playing a sound longer than 3 seconds where there is no mechanism to turn it off
- F24: Failure of Success Criterion 1.4.3, 1.4.6 and 1.4.8 due to specifying foreground colors without specifying background colors or vice versa
- F25: Failure of Success Criterion 2.4.2 due to the title of a Web page not identifying the contents
- F26: Failure of Success Criterion 1.3.3 due to using a graphical symbol alone to convey information
- F30: Failure of Success Criterion 1.1.1 and 1.2.1 due to using text alternatives that are not alternatives (e.g., filenames or placeholder text)
- F31: Failure of Success Criterion 3.2.4 due to using two different labels for the same function on different Web pages within a set of Web pages
- F32: Failure of Success Criterion 1.3.2 due to using white space characters to control spacing within a word
- F33: Failure of Success Criterion 1.3.1 and 1.3.2 due to using white space characters to create multiple columns in plain text content
- F34: Failure of Success Criterion 1.3.1 and 1.3.2 due to using white space characters to format tables in plain text content
- F36: Failure of Success Criterion 3.2.2 due to automatically submitting a form and given a value
- F37: Failure of Success Criterion 3.2.2 due to launching a new window without prior warning when the selection of a radio button, check box or select list is changed
- F38: Failure of Success Criterion 1.1.1 due to not marking up decorative images in HTML in a way that allows assistive technology to ignore them
- F39: Failure of Success Criterion 1.1.1 due to providing a text alternative that is not null (e.g., alt="spacer" or alt="image") for images that should be ignored by assistive technology
- F40: Failure due to using meta redirect with a time limit
- F41: Failure of Success Criterion 2.2.1, 2.2.4, and 3.2.5 due to using meta refresh to reload the page
- F42: Failure of Success Criteria 1.3.1, 2.1.1, 2.1.3, or 4.1.2 when emulating links
- F43: Failure of Success Criterion 1.3.1 due to using structural markup in a way that does not represent relationships in the content
- F44: Failure of Success Criterion 2.4.3 due to using tabindex to create a tab order that does not preserve meaning and operability
- F46: Failure of Success Criterion 1.3.1 due to using th elements, layout tables
- F47: Failure of Success Criterion 2.2.2 due to using the blink element
- F48: Failure of Success Criterion 1.3.1 due to using the pre element to markup tabular information
- F49: Failure of Success Criterion 1.3.2 due to using an HTML layout table that does not make sense when linearized
- F50: Failure of Success Criterion 2.2.2 due to a script that causes a blink effect without a mechanism to stop the blinking at 5 seconds or less
- F52: Failure of Success Criterion 3.2.1 and 3.2.5 due to opening a new window as soon as a new page is loaded
- F54: Failure of Success Criterion 2.1.1 due to using only pointing-device-specific event handlers (including gesture) for a function
- F55: Failure of Success Criteria 2.1.1, 2.4.7, and 3.2.1 due to using script to remove focus when focus is received
- F58: Failure of Success Criterion 2.2.1 due to using server-side techniques to automatically redirect pages after a time-out
- F59: Failure of Success Criterion 4.1.2 due to using script to make div or span a user interface control in HTML without providing a role for the control
- F60: Failure of Success Criterion 3.2.5 due to launching a new window when a user enters text into an input field
- F61: Failure of Success Criterion 3.2.5 due to complete change of main content through an automatic update that the user cannot disable from within the content
- F63: Failure of Success Criterion 2.4.4 due to providing link context only in content that is not related to the link
- F65: Failure of Success Criterion 1.1.1 due to omitting the alt attribute or text alternative on img elements, area elements, and input elements of type "image"
- F66: Failure of Success Criterion 3.2.3 due to presenting navigation links in a different relative order on different pages
- F67: Failure of Success Criterion 1.1.1 and 1.2.1 due to providing long descriptions for non-text content that does not serve the same purpose or does not present the same information
- F68: Failure of Success Criterion 4.1.2 due to a user interface control not having a programmatically determined name
- F69: Failure of Success Criterion 1.4.4 when resizing visually rendered text up to 200 percent causes the text, image or controls to be clipped, truncated or obscured
- F70: Failure of Success Criterion 4.1.1 due to incorrect use of start and end tags or attribute markup
- F71: Failure of Success Criterion 1.1.1 due to using text look-alikes to represent text without providing a text alternative
- F72: Failure of Success Criterion 1.1.1 due to using ASCII art without providing a text alternative
- F73: Failure of Success Criterion 1.4.1 due to creating links that are not visually evident without color vision
- F74: Failure of Success Criterion 1.2.2 and 1.2.8 due to not labeling a synchronized media alternative to text as an alternative
- F75: Failure of Success Criterion 1.2.2 by providing synchronized media without captions when the synchronized media presents more information than is presented on the page
- F77: Failure of Success Criterion 4.1.1 due to duplicate values of type ID
- F78: Failure of Success Criterion 2.4.7 due to styling element outlines and borders in a way that removes or renders non-visible the visual focus indicator
- F79: Failure of Success Criterion 4.1.2 due to the focus state of a user interface component not being programmatically determinable or no notification of change of focus state available
- F80: Failure of Success Criterion 1.4.4 when text-based form controls do not resize when visually rendered text is resized up to 200%
- F81: Failure of Success Criterion 1.4.1 due to identifying required or error fields using color differences only
- F82: Failure of Success Criterion 3.3.2 by visually formatting a set of phone number fields but not including a text label
- F83: Failure of Success Criterion 1.4.3 and 1.4.6 due to using background images that do not provide sufficient contrast with foreground text (or images of text)
- F84: Failure of Success Criterion 2.4.9 due to using a non-specific link such as "click here" or "more" without a mechanism to change the link text to specific text.
- F85: Failure of Success Criterion 2.4.3 due to using dialogs or menus that are not adjacent to their trigger control in the sequential navigation order
- F86: Failure of Success Criterion 4.1.2 due to not providing names for each part of a multi-part form field, such as a US telephone number
- F87: Failure of Success Criterion 1.3.1 due to inserting non-decorative content by using ::before and ::after pseudo-elements and the 'content' property in CSS
- F88: Failure of Success Criterion 1.4.8 due to using text that is justified (aligned to both the left and the right margins)
- F89: Failure of Success Criteria 2.4.4, 2.4.9 and 4.1.2 due to not providing an accessible name for an image which is the only content in a link
- F90: Failure of Success Criterion 1.3.1 for incorrectly associating table headers and content via the headers and id attributes
- F91: Failure of Success Criterion 1.3.1 for not correctly marking up table headers
- F92: Failure of Success Criterion 1.3.1 due to the use of role presentation on content which conveys semantic information
- F93: Failure of Success Criterion 1.4.2 for absence of a way to pause or stop an HTML5 media element that autoplays
- F94: Failure of Success Criterion 1.4.4 due to incorrect use of viewport units to resize text
- F95: Failure of Success Criterion 1.4.13 due to content shown on hover not being hoverable
- F96: Failure due to the accessible name not containing the visible label text
- F97: Failure due to locking the orientation to landscape or portrait view
- F98: Failure due to interactions being limited to touch-only on touchscreen devices
- F99: Failure of Success Criterion 2.1.4 due to implementing character key shortcuts that cannot be turned off or remapped
- F100: Failure of Success Criterion 1.3.4 due to showing a message asking to reorient device
- F101: Failure of Success Criterion 2.5.2 due to activating a control on the down-event
- F102: Failure of Success Criterion 1.4.10 due to content disappearing and not being available when content has reflowed
- F103: Failure of Success Criterion 4.1.3 due to providing status messages that cannot be programmatically determined through role or properties
- F104: Failure of Success Criterion 1.4.12 due to clipped or overlapped content when text spacing is adjusted
- F105: Failure of Success Criterion 2.5.1 due to providing functionality via a path-based gesture without simple pointer alternative
- F106: Failure due to inability to deactivate motion actuation
- F107: Failure of Success Criterion 1.3.5 due to incorrect autocomplete attribute values
- F108: Failure of Success Criterion 2.5.7 Dragging Movements due to not providing a single pointer method for the user to operate a function that does not require a dragging movement
- F109: Failure of Success Criterion 3.3.8 and 3.3.9 due to preventing password or code re-entry in the same format
- F110: Failure of Success Criterion 2.4.11 due to a sticky footers or headers hiding focused elements
General Techniques§
- G1: Adding a link at the top of each page that goes directly to the main content area
- hidden-control-2: Provide a setting to make controls visibly persist
- G4: Allowing the content to be paused and restarted from where it was paused
- G5: Allowing users to complete an activity without any time limit
- G8: Providing a movie with extended audio descriptions
- G9: Creating captions for live synchronized media
- G10: Creating components using a technology that supports the accessibility notification of changes
- G11: Creating content that blinks for less than 5 seconds
- G13: Describing what will happen before a change to a form control that causes a change of context to occur is made
- G14: Ensuring that information conveyed by color differences is also available in text
- G15: Using a tool to ensure that content does not violate the general flash threshold or red flash threshold
- G17: Ensuring that a contrast ratio of at least 7:1 exists between text (and images of text) and background behind the text
- G18: Ensuring that a contrast ratio of at least 4.5:1 exists between text (and images of text) and background behind the text
- G19: Ensuring that no component of the content flashes more than three times in any 1-second period
- G21: Ensuring that users are not trapped in content
- G53: Identifying the purpose of a link using link text combined with the text of the enclosing sentence
- G54: Including a sign language interpreter in the video stream
- G55: Linking to definitions
- G56: Mixing audio files so that non-speech sounds are at least 20 decibels lower than the speech audio content
- G57: Ordering the content in a meaningful sequence
- G58: Placing a link to the alternative for time-based media immediately next to the non-text content
- G59: Placing the interactive elements in an order that follows sequences and relationships within the content
- G60: Playing a sound that turns off automatically within three seconds
- G61: Presenting repeated components in the same relative order each time they appear
- G62: Providing a glossary
- G63: Providing a site map
- G64: Providing a Table of Contents
- G65: Providing a breadcrumb trail
- G68: Providing a short text alternative that describes the purpose of live audio-only and live video-only content
- G69: Providing an alternative for time based media
- G70: Providing a function to search an online dictionary
- G71: Providing a help link on every Web page
- G73: Providing a long description in another location with a link to it that is immediately adjacent to the non-text content
- G74: Providing a long description in text near the non-text content, with a reference to the location of the long description in the short description
- G75: Providing a mechanism to postpone any updating of content
- G76: Providing a mechanism to request an update of the content instead of updating automatically
- G78: Providing a second, user-selectable, audio track that includes audio descriptions
- G79: Providing a spoken version of the text
- G80: Providing a submit button to initiate a change of context
- 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
- G82: Providing a text alternative that identifies the purpose of the non-text content
- G83: Providing text descriptions to identify required fields that were not completed
- G84: Providing a text description when the user provides information that is not in the list of allowed values
- G85: Providing a text description when user input falls outside the required format or values
- G86: Providing a text summary that can be understood by people with lower secondary education level reading ability
- G87: Providing closed captions
- G88: Providing descriptive titles for Web pages
- G89: Providing expected data format and example
- G90: Providing keyboard-triggered event handlers
- G91: Providing link text that describes the purpose of a link
- G92: Providing long description for non-text content that serves the same purpose and presents the same information
- G93: Providing open (always visible) captions
- G94: Providing short text alternative for non-text content that serves the same purpose and presents the same information as the non-text content
- G95: Providing short text alternatives that provide a brief description of the non-text content
- G96: Providing textual identification of items that otherwise rely only on sensory information to be understood
- G97: Providing the first use of an abbreviation immediately before or after the expanded form
- G98: Providing the ability for the user to review and correct answers before submitting
- G99: Providing the ability to recover deleted information
- G100: Providing a short text alternative which is the accepted name or a descriptive name of the non-text content
- G101: Providing the definition of a word or phrase used in an unusual or restricted way
- G102: Providing the expansion or explanation of an abbreviation
- G103: Providing visual illustrations, pictures, and symbols to help explain ideas, events, and processes
- G105: Saving data so that it can be used after a user re-authenticates
- G107: Using "activate" rather than "focus" as a trigger for changes of context
- G108: Using markup features to expose the name and role, allow user-settable properties to be directly set, and provide notification of changes
- G110: Using an instant client-side redirect
- G111: Using color and pattern
- G112: Using inline definitions
- G115: Using semantic elements to mark up structure
- G117: Using text to convey information that is conveyed by variations in presentation of text
- G120: Providing the pronunciation immediately following the word
- G121: Linking to pronunciations
- 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
- G125: Providing links to navigate to related Web pages
- G126: Providing a list of links to all other Web pages
- G127: Identifying a Web page's relationship to a larger collection of Web pages
- G128: Indicating current location within navigation bars
- G130: Providing descriptive headings
- G131: Providing descriptive labels
- G133: Providing a checkbox on the first page of a multipart form that allows users to ask for longer session time limit or no session time limit
- G134: Validating Web pages
- G135: Using the accessibility API features of a technology to expose names and notification of changes
- G136: Providing a link at the beginning of a nonconforming Web page that points to a conforming alternate version
- G138: Using semantic markup whenever color cues are used
- G139: Creating a mechanism that allows users to jump to errors
- G140: Separating information and structure from presentation to enable different presentations
- G141: Organizing a page using headings
- G142: Using a technology that has commonly-available user agents that support zoom
- G143: Providing a text alternative that describes the purpose of the CAPTCHA
- G144: Ensuring that the Web Page contains another CAPTCHA serving the same purpose using a different modality
- G145: Ensuring that a contrast ratio of at least 3:1 exists between text (and images of text) and background behind the text
- G146: Using liquid layout
- G148: Not specifying background color, not specifying text color, and not using technology features that change those defaults
- G149: Using user interface components that are highlighted by the user agent when they receive focus
- G150: Providing text based alternatives for live audio-only content
- G151: Providing a link to a text transcript of a prepared statement or script if the script is followed
- G152: Setting animated gif images to stop blinking after n cycles (within 5 seconds)
- G153: Making the text easier to read
- G155: Providing a checkbox in addition to a submit button
- G156: Using a technology that has commonly-available user agents that can change the foreground and background of blocks of text
- G157: Incorporating a live audio captioning service into a Web page
- G158: Providing an alternative for time-based media for audio-only content
- G159: Providing an alternative for time-based media for video-only content
- G160: Providing sign language versions of information, ideas, and processes that must be understood in order to use the content
- G161: Providing a search function to help users find content
- G162: Positioning labels to maximize predictability of relationships
- G163: Using standard diacritical marks that can be turned off
- G164: Providing a stated time within which an online request (or transaction) may be amended or canceled by the user after making the request
- G165: Using the default focus indicator for the platform so that high visibility default focus indicators will carry over
- G166: Providing audio that describes the important video content and describing it as such
- G167: Using an adjacent button to label the purpose of a field
- G168: Requesting confirmation to continue with selected action
- G169: Aligning text on only one side
- G170: Providing a control near the beginning of the Web page that turns off sounds that play automatically
- G171: Playing sounds only on user request
- G172: Providing a mechanism to remove full justification of text
- G173: Providing a version of a movie with audio descriptions
- G174: Providing a control with a sufficient contrast ratio that allows users to switch to a presentation that uses sufficient contrast
- G175: Providing a multi color selection tool on the page for foreground and background colors
- G176: Keeping the flashing area small enough
- G177: Providing suggested correction text
- G178: Providing controls on the Web page that allow users to incrementally change the size of all text on the page up to 200 percent
- G179: Ensuring that there is no loss of content or functionality when the text resizes and text containers do not change their width
- G180: Providing the user with a means to set the time limit to 10 times the default time limit
- G181: Encoding user data as hidden or encrypted data in a re-authorization page
- G182: Ensuring that additional visual cues are available when text color differences are used to convey information
- G183: Using a contrast ratio of 3:1 with surrounding text and providing additional visual cues on hover for links or controls where color alone is used to identify them
- G184: Providing text instructions at the beginning of a form or set of fields that describes the necessary input
- G185: Linking to all of the pages on the site from the home page
- G186: Using a control in the Web page that stops moving, blinking, or auto-updating content
- G187: Using a technology to include blinking content that can be turned off via the user agent
- G188: Providing a button on the page to increase line spaces and paragraph spaces
- G189: Providing a control near the beginning of the Web page that changes the link text
- G190: Providing a link adjacent to or associated with a non-conforming object that links to a conforming alternate version
- G191: Providing a link, button, or other mechanism that reloads the page without any blinking content
- G192: Fully conforming to specifications
- G193: Providing help by an assistant in the Web page
- G194: Providing spell checking and suggestions for text input
- G195: Using an author-supplied, visible focus indicator
- G196: Using a text alternative on one item within a group of images that describes all items in the group
- G197: Using labels, names, and text alternatives consistently for content that has the same functionality
- G198: Providing a way for the user to turn the time limit off
- G199: Providing success feedback when data is submitted successfully
- G200: Opening new windows and tabs from a link only when necessary
- G201: Giving users advanced warning when opening a new window
- G202: Ensuring keyboard control for all functionality
- G203: Using a static text alternative to describe a talking head video
- G204: Not interfering with the user agent's reflow of text as the viewing window is narrowed
- G205: Including a text cue for colored form control labels
- G206: Providing options within the content to switch to a layout that does not require the user to scroll horizontally to read a line of text
- G207: Ensuring that a contrast ratio of 3:1 is provided for icons
- G208: Including the text of the visible label as part of the accessible name
- G209: Provide sufficient contrast at the boundaries between adjoining colors
- G210: Ensuring that drag-and-drop actions can be cancelled
- G211: Matching the accessible name to the visible label
- G212: Using native controls to ensure functionality is triggered on the up-event.
- G213: Provide conventional controls and an application setting for motion activated input
- G214: Using a control to allow access to content in different orientations which is otherwise restricted
- G215: Providing controls to achieve the same result as path based or multipoint gestures
- G216: Providing single point activation for a control slider
- G217: Providing a mechanism to allow users to remap or turn off character key shortcuts
- G218: Email link authentication
- G219: Ensuring that an alternative is available for dragging movements that operate on content
- G220: Provide a contact-us link in a consistent location
- G221: Provide data from a previous step in a process
- G222: Provide persistently visible controls
- G223: Using an author-supplied, highly visible focus indicator
HTML Techniques§
- H2: Combining adjacent image and text links for the same resource
- H4: Creating a logical tab order through links, form controls, and objects
- H24: Providing text alternatives for the area elements of image maps
- H25: Providing a title using the title element
- H28: Providing definitions for abbreviations by using the abbr element
- H30: Providing link text that describes the purpose of a link for anchor elements
- H32: Providing submit buttons
- H33: Supplementing link text with the title attribute
- H34: Using a Unicode right-to-left mark (RLM) or left-to-right mark (LRM) to mix text direction inline
- H35: Providing text alternatives on applet elements
- H36: Using alt attributes on images used as submit buttons
- H37: Using alt attributes on img elements
- H39: Using caption elements to associate data table captions with data tables
- H40: Using description lists
- H42: Using h1-h6 to identify headings
- H43: Using id and headers attributes to associate data cells with header cells in data tables
- H44: Using label elements to associate text labels with form controls
- H45: Using longdesc
- H46: Using noembed with embed
- H48: Using ol, ul and dl for lists or groups of links
- H49: Using semantic markup to mark emphasized or special text
- H51: Using table markup to present tabular information
- H53: Using the body of the object element
- H54: Using the dfn element to identify the defining instance of a word
- H56: Using the dir attribute on an inline element to resolve problems with nested directional runs
- H57: Using the language attribute on the HTML element
- H58: Using language attributes to identify changes in the human language
- H59: Using the link element and navigation tools
- H60: Using the link element to link to a glossary
- H62: Using the ruby element
- H63: Using the scope attribute to associate header cells and data cells in data tables
- H64: Using the title attribute of the iframe element
- H65: Using the title attribute to identify form controls when the label element cannot be used
- H67: Using null alt text and no title attribute on img elements for images that assistive technology should ignore
- H69: Providing heading elements at the beginning of each section of content
- H70: Using frame elements to group blocks of repeated material
- H71: Providing a description for groups of form controls using fieldset and legend elements
- H73: Using the summary attribute of the table element to give an overview of data tables
- H74: Ensuring that opening and closing tags are used according to specification
- H75: Ensuring that Web pages are well-formed
- H76: Using meta refresh to create an instant client-side redirect
- H77: Identifying the purpose of a link using link text combined with its enclosing list item
- H78: Identifying the purpose of a link using link text combined with its enclosing paragraph
- H79: Identifying the purpose of a link in a data table using the link text combined with its enclosing table cell and associated table header cells
- H80: Identifying the purpose of a link using link text combined with the preceding heading element
- H81: Identifying the purpose of a link in a nested list using link text combined with the parent list item under which the list is nested
- H83: Using the target attribute to open a new window on user request and indicating this in link text
- H84: Using a button with a select element to perform an action
- H85: Using optgroup to group option elements inside a select
- H86: Providing text alternatives for emojis, emoticons, ASCII art, and leetspeak
- H88: Using HTML according to spec
- H89: Using the title attribute to provide context-sensitive help
- H90: Indicating required form controls using label or legend
- H91: Using HTML form controls and links
- H93: Ensuring that id attributes are unique on a Web page
- H94: Ensuring that elements do not contain duplicate attributes
- H95: Using the track element to provide captions
- H96: Using the track element to provide audio descriptions
- H97: Grouping related links using the nav element
- H98: Using HTML 5.2 autocomplete attributes
- H99: Provide a page-selection mechanism
- H100: Providing properly marked up email and password inputs
- H101: Using semantic HTML elements to identify regions of a page
PDF Techniques§
- PDF1: Applying text alternatives to images with the Alt entry in PDF documents
- PDF2: Creating bookmarks in PDF documents
- PDF3: Ensuring correct tab and reading order in PDF documents
- PDF4: Hiding decorative images with the Artifact tag in PDF documents
- PDF5: Indicating required form controls in PDF forms
- PDF6: Using table elements for table markup in PDF Documents
- PDF7: Performing OCR on a scanned PDF document to provide actual text
- PDF8: Providing definitions for abbreviations via an E entry for a structure element
- PDF9: Providing headings by marking content with heading tags in PDF documents
- PDF10: Providing labels for interactive form controls in PDF documents
- PDF11: Providing links and link text using the Link annotation and the /Link structure element in PDF documents
- PDF12: Providing name, role, value information for form fields in PDF documents
- PDF13: Providing replacement text using the /Alt entry for links in PDF documents
- PDF14: Providing running headers and footers in PDF documents
- PDF15: Providing submit buttons with the submit-form action in PDF forms
- PDF16: Setting the default language using the /Lang entry in the document catalog of a PDF document
- PDF17: Specifying consistent page numbering for PDF documents
- PDF18: Specifying the document title using the Title entry in the document information dictionary of a PDF document
- PDF19: Specifying the language for a passage or phrase with the Lang entry in PDF documents
- PDF20: Using Adobe Acrobat Pro's Table Editor to repair mistagged tables
- PDF21: Using List tags for lists in PDF documents
- PDF22: Indicating when user input falls outside the required format or values in PDF forms
- PDF23: Providing interactive form controls in PDF documents
Server-Side Script Techniques§
- SVR1: Implementing automatic redirects on the server side instead of on the client side
- SVR2: Using .htaccess to ensure that the only way to access non-conforming content is from conforming content
- SVR3: Using HTTP referer to ensure that the only way to access non-conforming content is from conforming content
- SVR4: Allowing users to provide preferences for the display of conforming alternate versions
- SVR5: Specifying the default language in the HTTP header
Silverlight Techniques§
- SL1: Accessing Alternate Audio Tracks in Silverlight Media
- SL2: Changing The Visual Focus Indicator in Silverlight
- SL3: Controlling Silverlight MediaElement Audio Volume
- SL4: Declaring Discrete Silverlight Objects to Specify Language Parts in the HTML DOM
- SL5: Defining a Focusable Image Class for Silverlight
- SL6: Defining a UI Automation Peer for a Custom Silverlight Control
- SL7: Designing a Focused Visual State for Custom Silverlight Controls
- SL8: Displaying HelpText in Silverlight User Interfaces
- SL9: Handling Key Events to Enable Keyboard Functionality in Silverlight
- SL10: Implementing a Submit-Form Pattern in Silverlight
- SL11: Pausing or Stopping A Decorative Silverlight Animation
- SL12: Pausing, Stopping, or Playing Media in Silverlight MediaElements
- SL13: Providing A Style Switcher To Switch To High Contrast
- SL14: Providing Custom Control Key Handling for Keyboard Functionality in Silverlight
- SL15: Providing Keyboard Shortcuts that Work Across the Entire Silverlight Application
- SL16: Providing Script-Embedded Text Captions for MediaElement Content
- SL17: Providing Static Alternative Content for Silverlight Media Playing in a MediaElement
- SL18: Providing Text Equivalent for Nontext Silverlight Controls With AutomationProperties.Name
- SL19: Providing User Instructions With AutomationProperties.HelpText in Silverlight
- SL20: Relying on Silverlight AutomationPeer Behavior to Set AutomationProperties.Name
- SL21: Replacing A Silverlight Timed Animation With a Nonanimated Element
- SL22: Supporting Browser Zoom in Silverlight
- SL23: Using A Style Switcher to Increase Font Size of Silverlight Text Elements
- SL24: Using AutoPlay to Keep Silverlight Media from Playing Automatically
- SL25: Using Controls and Programmatic Focus to Bypass Blocks of Content in Silverlight
- SL26: Using LabeledBy to Associate Labels and Targets in Silverlight
- SL27: Using Language/Culture Properties as Exposed by Silverlight Applications and Assistive Technologies
- SL28: Using Separate Text-Format Text Captions for MediaElement Content
- SL29: Using Silverlight "List" Controls to Define Blocks that can be Bypassed
- SL30: Using Silverlight Control Compositing and AutomationProperties.Name
- SL31: Using Silverlight Font Properties to Control Text Presentation
- SL32: Using Silverlight Text Elements for Appropriate Accessibility Role
- SL33: Using Well-Formed XAML to Define a Silverlight User Interface
- SL34: Using the Silverlight Default Tab Sequence and Altering Tab Sequences With Properties
- SL35: Using the Validation and ValidationSummary APIs to Implement Client Side Forms Validation in Silverlight
SMIL Techniques§
- SM1: Adding extended audio description in SMIL 1.0
- SM2: Adding extended audio description in SMIL 2.0
- SM6: Providing audio description in SMIL 1.0
- SM7: Providing audio description in SMIL 2.0
- SM11: Providing captions through synchronized text streams in SMIL 1.0
- SM12: Providing captions through synchronized text streams in SMIL 2.0
- SM13: Providing sign language interpretation through synchronized video streams in SMIL 1.0
- SM14: Providing sign language interpretation through synchronized video streams in SMIL 2.0
Plain-Text Techniques§
- T1: Using standard text formatting conventions for paragraphs
- T2: Using standard text formatting conventions for lists
- T3: Using standard text formatting conventions for headings
Change Log
A list of new, removed or significantly updated techniques:
- : Removed Flash techniques.
- : Added F105: Failure of Success Criterion 2.5.1 due to providing functionality via a path-based gesture without simple pointer alternative
- : Added F106: Failure due to inability to deactivate motion actuation
- : Added F104: Failure of Success Criterion 1.4.12 due to clipped or overlapped content when text spacing is adjusted
- : Added F103: Failure of Success Criterion 4.1.3 due to providing status messages that cannot be programmatically determined through role or properties
- : Added F102: Failure of Success Criterion 1.4.10 due to content disappearing and not being available when content has reflowed
- : Added G216: Providing single point activation for a control slider
- : Added G215: Providing controls to achieve the same result as path based or multipoint gestures
- : Added F100: Failure of Success Criterion 1.3.4 due to showing a message asking to reorient device
- : Added G214: Using a control to allow access to content in different orientations which is otherwise restricted
- : Added C40: Creating a two-color focus indicator to ensure sufficient contrast with all components
- : Added F99: Failure of Success Criterion 2.1.4 due to implementing character key shortcuts that cannot be turned off or remapped
- : Added SCR39: Making content on focus or hover hoverable, dismissible, and persistent
- : Added G212: Using native controls to ensure functionality is triggered on the up-event.
- : Added F98: Failure due to interactions being limited to touch-only on touchscreen devices
- : Added G213: Provide conventional controls and an application setting for motion activated input
- : Added ARIA24: Semantically identifying a font icon with role="img"
- : Added F97: Failure due to locking the orientation to landscape or portrait view
- : Removed F52: Failure of Success Criterion 3.2.1 and 3.2.5 due to opening a new window as soon as a new page is loaded from SC 3.2.1 (still attached to SC 3.2.5)
- : Added G209: Provide sufficient contrast at the boundaries between adjoining colors
- : Added C39: Using the CSS reduce-motion query to prevent motion
- : Added G207: Ensuring that a contrast ratio of 3:1 is provided for icons
- : Added C38: Using CSS width, max-width and flexbox to fit labels and inputs
- : Added F95: Failure of Success Criterion 1.4.13 due to content shown on hover not being hoverable
- : Added C34: Using media queries to un-fixing sticky headers / footers
- : Added C36: Allowing for text spacing override
- : Added C37: Using CSS max-width and height to fit images
- : Added G207: Ensuring that a contrast ratio of 3:1 is provided for icons
- : Added F95: Failure of Success Criterion 1.4.13 due to content shown on hover not being hoverable
- : Added F96: Failure due to the accessible name not containing the visible label text
- : Added C38: Using CSS width, max-width and flexbox to fit labels and inputs
- : Added G207: Ensuring that a contrast ratio of 3:1 is provided for icons
For a more detailed view of recent changes to the informative documents see the github updates.