Web Content Accessibility Guidelines (WCAG)

The WCAG has three levels of standards A, AA, and AAA. At Amex we aim for WCAG 2.1 A and AA standard with 11 additional AAA. On this page we will cover WCAG’s four principles and illustrate some of the most important standards (including the 11 AAA) to watch out for when making sure your experiences comply with WCAG accessibility guidelines.

Although the DLS provides accessible components, we can’t guarantee that by using DLS your experiences will be accessible. Accessible websites need to provide logical hierarchy, keyboard navigation, and many other inclusive patterns. By using WCAG 2.1 as your guide, you are setting up your product to be inclusive and provide an experience for all.

For a comprehensive overview of Amex success criteria, including market specifics, check our digital accessibility policy AENB77 and TECH06.26

For further details on how to interpret the standards check out the quick reference guide “How to meet WCAG2.1”.

Four Principles of Accessibility

WCAG base their guidelines and success criteria around 4 principles: perceivable, operable, understandable, and robust. The four principles lay a foundation necessary for anyone to access and use web content.

As you read through the principles, consider how this relates to your product and user journeys. When prioritising accessibility work, question what will make the difference between someone using your product or going to a competitor.


Principle 1 - Perceivable

Can users perceive the content? For example, an experience that relies on a user’s sense of sight will not be perceivable to those with limited or no ability to see. Offer alternative ways of perceiving information and user interface components. Keep in mind that many assistive technologies, such as screen readers and closed captioning, can interpret text in a way meaningful to their users.

Tips:

  • Provide captions and other alternatives for multimedia. See Video for example.
  • Provide text alternatives for non-text content.
  • Create content that can be presented in different ways without losing its meaning.
  • The visual presentation of text and images of text must have a contrast ratio of at least 4.5:1, with a 3:1 ratio for large-scale text.
  • Interactive elements must have a 3:1 ratio with their background. For more details on color accessibility read our Color accessibility blog.

Perceivable - WCAG Guidelines

Here are some of the most important perceivable standards to watch out for when making sure your experiences comply with the latest WCAG accessibility guidelines. For a comprehensive overview, check out the quick reference guide for “How to meet WCAG 2” and our Digital accessibility policy.


Text Alternatives

Most accessibility devices rely on text to turn in to audio or braille

Guideline Title Level Instructions
1.1.1 Non-text content (w3.org) A
  • Give alternative text to all images, form image buttons, and image map hot spots.
  • Give descriptive alt text to all linked images and buttons.
  • Provide equivalent alternatives to complex images in context or on a separate (linked and/or referenced via longdesc) page.
  • Give associated text labels or a descriptive title attribute to form inputs.
  • Identify embedded multimedia using accessible text.
  • Give useful titles to frames.
  • Give null alt text (alt="") to images that do not convey content, are decorative, or with content that is already conveyed in text, or implement as CSS backgrounds.

Example - Provide text alternatives for non-text content

      <button
  class="glyph dls-glyph-close"
  aria-label="Close"
></button>
    
Do this
      <button
  class="glyph dls-glyph-close
></button>
      
    
Not this

Time Based media

Provide text and audio description for non-live multimedia.

Guideline Title Level Instructions
1.2.1 Prerecorded Audio-only and Video-only (w3.org) A
  • For web-based content containing audio, such as podcasts, broadcasts, and MP3s, provide a descriptive text transcript (including all relevant visual and auditory indicators).
  • For non-live, web-based video, provide a text or audio description for video without an audio track.
1.2.2 Captions (Prerecorded) (w3.org) A For non-live, web-based video, provide synchronized captions.
1.2.3 Audio Description or Media Alternative (Prerecorded) (w3.org) AA For non-live, web-based video, provide a descriptive text transcript OR audio description audio track.
1.2.4 Captions (Live) (w3.org) AA For web-based content containing audio, such as podcasts, broadcasts, and MP3s, provide synchronized captions for all live multimedia.
1.2.5 Audio Description (w3.org) AA For non-live, web-based video, provide audio description for video that conveys content visually when it's not in the default audio track.

Adaptable

Build alternative ways of presenting content into markup, labels, navigation and instructions.

Guideline Title Level Instructions
1.3.1 Info and Relationships (w3.org) A
  • Use semantic markup to designate headings, lists, emphasize or special text, etc.
  • Use tables to markup tabular data. Where necessary, pair data cells with their headers, and use data table captions and summaries.
  • Pair text labels with form input elements.
  • Group related form elements with fieldset/legend.
  • Don’t use instructions that rely upon shape, size, or visual location (e.g., "Click the square icon to continue" or "Instructions are in the right-hand column").
1.3.2 Meaningful Sequence (w3.org) A Make the reading and navigation order (determined by code order) logical and intuitive.
1.3.3 Sensory Characteristics (w3.org) A Don't use instructions that rely upon sound (e.g., "A beeping sound indicates you may continue").
1.3.6 Identify Purpose (w3.org) AAA Use semantics or metadata to provide the purpose of icons, regions, and components (such as buttons, links, and fields) so that user agents can determine the purpose. This is similar to adding role information but instead of providing information about what a UI component is (such as an image) it provides information about what a component represents (such as a link to the homepage).

Distinguishable

Be aware of how color, contrast, and text size affect accessibility.

Guideline Title Level Instructions
1.4.1 Use of Color (w3.org) A Don't use color as the only method of conveying content or distinguishing visual elements.
1.4.2 Audio control (w3.org) A Use a mechanism to stop, pause, mute, or adjust volume for audio that automatically plays on a page for more than 3 seconds.
1.4.3 Contrast (minimum) (w3.org) AA
  • Give text and images of text a contrast ratio of at least 4.5:1.
  • Give large text (150% of the user's default font size or 120% user's default font size and bold ) a contrast ratio of at least 3:1.
1.4.4 Resize Text (w3.org) AA Make sure the page is readable and functional when the text size is doubled.
1.4.5 Images of Text (w3.org) AA Don't use an image to present text if the same visual presentation can be made using text alone.
1.4.10 Reflow (w3.org) AA Content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for:
  • Vertical scrolling content at a width equivalent to 320 CSS pixels
  • Horizontal scrolling content at a height equivalent to 256 CSS pixels
1.4.11 Non-text Contrast (w3.org) AA User interface components (with the exception on inactive components) and graphical objects that are required to understand content must have a contrast ratio of at least 3:1 against adjacent color(s).

Example - Text Color Contrast

Typography must adhere to WCAG 2.1 guidelines level AA, which requires a contrast ratio of at least 4.5:1 for text and 3:1 for large-scale text. For more details on of text styling and color accessibility read our Color accessibility blog.

hero example

Principle 2 - Operable

User interface components and navigation must be operable. Can users use the UI components and navigate the content? For example, someone who can’t use a mouse or touch screen will be unable to interact with a component that requires a hover interaction. Always offer alternative methods.

Tips:

  • Give users enough time to read and use content.
  • While you should make all functionality available by keyboard, offer non-keyboard alternatives as well.
  • Dont title override, dont use non-operation HTML elements.
  • Remember that hardware or software directional controllers (such as a D-pad, trackball, or keyboard) allow users to jump from selection to selection in a linear fashion.
  • Support all interaction types when using custom js (if you are using J.S to add custom functionality upon user action, remember to not only handle clicks, but keyboard and touch input as well).
  • Don’t use non-focusable html elements as actionable elements.
  • Don’t use css for logical/meaningful ordering. Markup should always have elements in logical order for those using keyboard navigation, css element ordering should only be used for decorative purposes.
  • Do not use content that causes seizures or physical reactions, anything that flashes more than three times in any one second, or the flash is below flash and red flash thresholds.
  • Help users navigate and find content, by providing the correct headings H1, H2, H3.
  • Don’t use CSS for logical/meaningful ordering. Markup should always have elements in logical order for those using keyboard navigation, CSS element ordering should only be used for decorative purposes.
  • Touch targets should be a minimum of 44x44px.

Operable - WCAG Guidelines

Here are some of the most important operable standards to watch out for when making sure your experiences comply with the latest WCAG accessibility guidelines. For a comprehensive overview, check out the quick reference guide for “How to meet WCAG 2” and our Digital accessibility policy.


Keyboard Accessible

Card Members should be able to operate everything using just a keyboard.

Guideline Title Level Instructions
2.1.1 Keyboard (w3.org) A
  • Make all page functionality available using the keyboard, unless the functionality cannot be accomplished in any known way using a keyboard (e.g., free hand drawing).
  • Page-specified shortcut keys should not conflict with existing browser and screen reader shortcuts.
2.1.2 No Keyboard Trap (w3.org) A Don't lock or trap the keyboard focus at one page element. Users should be able to navigate to and from all navigable page elements using only a keyboard.
2.1.3 Keyboard (No Exception) (w3.org) AAA Make sure all content is operable from the keyboard.

Enough Time

Provide users with the time they need to read and use content.

Guideline Title Level Instructions
2.2.1 Timing Adjustable (w3.org) A Give users the option to turn off, adjust or extend the time limit on a page or application. This is not a requirement for real-time events, where the time limit is absolutely required, or if the time limit is longer than 20 hours.
2.2.2 Pause, Stop, Hide (w3.org) A
  • Give users the option to pause, stop or hide automatically moving, blinking, or scrolling content that lasts longer than 3 seconds. You can use moving, blinking, or scrolling to draw attention to or highlight content that lasts fewer than 3 seconds.
  • Give users the option to pause, stop, hide or manually control the timing of content that is automatically updated.

Example - Give users enough time to read and use content

Do this
Not this

Seizure Avoidance

To avoid causing seizures, do not flash page content more than 3 times per second unless that flashing content is sufficiently small and the flashes are of low contrast and do not contain too much red.

Guideline Title Level Instructions
2.3.2 Three Flashes (w3.org) AAA To help avoid seizures, make sure web pages do not contain anything that flashes more than three times in any one second period.
2.3.3 Animation From Interactions (w3.org) AAA Provide the ability for motion animation triggered by an interaction to be disabled, unless the animation is essential to the functionality or the information being conveyed.

Navigable

Users should easily be able to find content and navigate the site.

Guideline Title Level Instructions
2.4.1 Bypass Blocks (w3.org) A
  • Provide a link to skip navigation and other elements that are repeated across web pages.
  • Provide a proper heading structure if you want to avoid a "Skip to main content" link. Be aware that navigating by headings is not yet supported in all browsers.
  • Provide the page with frames and title them appropriately so that it's possible to bypass individual frames.
2.4.2 Page Titled (w3.org) A Give the page a descriptive and informative page title.
2.4.3 Focus Order (w3.org) A Make the navigation order of links, form elements, etc., logical and intuitive.
2.4.5 Multiple Ways (w3.org) A Provide multiple ways to find other pages on the site — including at least two of: a list of related pages, table of contents, site map, site search, or list of all available pages.
2.4.6 Headings and Labels (w3.org) A Make page headings and labels for form and interactive controls informative. Avoid duplicating heading (e.g., "More Details") or label text (e.g., "First Name") unless the structure provides adequate differentiation between them.
2.4.7 Focus Visible (w3.org) A Make visually apparent which page element has the current focus (i.e., as a Customer tabs through the page, they can see where they are).
2.4.9 Link Purpose (Link Only) (w3.org) AAA Give descriptive link names so the purpose of each link to be identified from link text alone.
2.4.10 Section Headings (w3.org) AAA

Section headings are used to organize page content.

Note: "Heading" is used in its general sense and includes titles and other ways to add a heading to different types of content.

Example - Don’t use non-focusable html elements as actionable elements

      
        <button>Do something</button>
      
    
Do this
      
        <div tabindex='1'>Do something</div>
      
    
Not this

Example - Don’t use CSS for logical/meaningful ordering

      
        <ul>
          <li>Step 1</li>
          <li>Step 2</li>
        </ul>
      
    
Do this
      
        <ul style="display: flex">
          <li style="flex-order: 2;">Step 2<li>
          <li style="flex-order: 1;">Step 1<li>
        </ul>
      
    
Not this

Example - Provide correct headings h1, h2, h3

      
        <h1>Page Header</h1>
        <h2>Section Header</h2>
        <h3>Subsection Header</h3>
      
    
Do this
      
        <h1>Page Header</h1>
        <h1>Large Text</h1>

      
    
Not this

Input Modalities

Make it easier for users to operate functionality through various inputs including keyboard.

Guideline Title Level Instructions
2.5.5 Target Size (w3.org) AAA

Target Size for inputs needs to be at least 44 by 44 CSS pixels except when:

  • Equivalent: The target is available through an equivalent link or control on the same page that is at least 44 by 44 CSS pixels;
  • Inline: The target is in a sentence or block of text;
  • User Agent Control: The size of the target is determined by the user agent and is not modified by the author;
  • Essential: A particular presentation of the target is essential to the information being conveyed.
2.5.6 Concurrent Input Mechanisms (w3.org) AAA Make sure you do not restrict input type. Users may use a combination of mechanisms such as a keyboard or keyboard-like interfaces and pointer devices like a mouse, stylus or touchscreen.

Example - Touch targets

Touch targets are the parts of the screen that respond to user input. They extend beyond the visual bounds of an element. For example, an icon may appear to be 28x28px, but the padding surrounding it is actually 44x44px providing an appropriate touch target.

Principle 3 - Understandable

The information you provide and the operation of the user interface must be understandable. Can users understand the content? Can users understand the interface, and is it consistent enough to avoid confusion? By using DLS components and guidelines, you help provide a consistent experience to the customer.

If you want to read more into cognitive and learning disabilities, check out Techniques for The Cognitive and Learning Disabilities Accessibility Task Force (COGA) (w3c.github.io)

Tips:

  • When using icons use them for the same semantic meaning throughout a website.
  • Make text readable and understandable.
    • Don’t use a URL as a link.
    • Avoid using blocks of all-capitalised letters in your content.
    • Be succinct: Keep content and accessibility text short and to the point. Screen reader users hear every UI element read aloud. The shorter the text, the faster the screen reader users can navigate it.
    • Don’t use “learn more” or “click here.”
  • Help users avoid mistakes and make sure they know how to correct them with clear messaging specific to the type of error.

Understandable - WCAG Guidelines

Here are some of the most important understandable standards to watch out for when making sure your experiences comply with the latest WCAG accessibility guidelines. For a comprehensive overview, check out the quick reference guide for “How to meet WCAG 2” and our Digital accessibility policy.


Readable

Make sure text content is understandable

Guideline Title Level Instructions
3.1.1 Language of Page (w3.org) A Identify the page's language using the HTML lang attribute, for example <html lang="en"> or using BCP47 code for pronunciation differences <html lang="en-US">.
3.1.2 Language of Parts (w3.org) AA Identify the language of sections of content that are a different language — for example, by using the lang attribute <blockquote lang="en"> or using BCP47 code for pronunciation differences <blockquote lang="en-GB">

Predictable

Users should know what to expect as they navigate through a journey.

Guideline Title Level Instructions
3.2.1 - 3.2.2 On Focus (w3.org) and On Input (w3.org) A When a user focuses on a page element, inputs information or interacts with a control, do not substantially change the page, create a pop-up window, change the keyboard focus, or create any other change that could cause disorientation unless the user is informed of the change ahead of time.
3.2.3 Consistent Navigation (w3.org) AA Do not change the order of navigation links that are repeated on pages when users navigate the site.
3.2.4 Consistent Identification (w3.org) A Consistently identify elements that have the same functionality across multiple pages. For example, a search box at the top of the site should always be labeled the same way, or an icon button should always be used for the same action throughout a website.
3.2.5 Change on Request (w3.org) AAA To avoid potential confusion that may be caused by unexpected changes of context, such as automatic launching of new windows. Changes of context should be initiated only by user request or provide mechanism to turn off changes.

Input Assistance

Help a user to provide accurate information by clearly identifying errors and suggesting how to fix them, as well as verifying changes and making them reversible, if possible.

Guideline Title Level Instructions
3.3.1 Error Identification (w3.org) A When an input error is detected, the errored item is identified and the error is described to the user in text.
3.3.2 Labels or Instructions (w3.org) A Provide labels or instructions that identify the inputs in a form so that customers know what input data is expected, for example, "mm/dd/yyyy" or "dd/mm/yyyy".
3.3.3 Error Suggestion (w3.org) AA If an input error is detected (via client-side or server-side validation), provide suggestions for fixing the input in a timely and accessible manner.
3.3.4 Error Prevention (w3.org) AA If the users can change or delete legal, financial, or test data, show the changes/deletions as reversible, verified, or confirmed.
3.3.5 Help (w3.org) AAA Provide context-sensitive help when a label is not sufficient to describe all functionality. Context-sensitive help should be obvious to the user and they should be able to obtain it whenever they need it.
3.3.6 Error Prevention (All) (w3.org) AAA

For any web pages that ask users to submit information, at least one of the following is true:

  • Reversible - Submissions are reversible.
  • Checked - Data entered by the user is checked for input errors and the user is provided an opportunity to correct them.
  • Confirmed - A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission.

Example - Help users avoid and correct mistakes

Password should contain at least one uppercase letter.

Password should contain at least one special character.

Password should contain at least 8 characters.

Principle 4 - Robust

Content must be robust enough that it can be interpreted reliably by a wide variety of user agents (browsers), including assistive technologies. Robust standards aim to maximize compatibility with current and future users tools.

Tips:

  • Using exact semantic elements will ensure maximized compatibility as sometimes different technologies’ interpretations of aria roles/attributes vary
  • In content implemented using markup languages:
    • Elements have complete start and end tags.
    • Elements are nested according to their specifications.
    • Elements do not contain duplicate attributes.
    • Any IDs are unique, except where the specifications allow these features.
  • For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined.
  • States, properties, and values that can be set by the user can be programmatically set.
  • Notification of changes to items is available to user agents, including assistive technologies.

Robust - WCAG Guidelines

Here are some of the most important robust standards to watch out for when making sure your experiences comply with the latest WCAG accessibility guidelines. For a comprehensive overview, check out the quick reference guide for “How to meet WCAG 2” and our Digital accessibility policy.


Compatible

Make content compatible with current and future assistive technologies.

Guideline Title Level Instructions
4.1.1 Parsing (w3.org) A Avoid significant HTML/XHTML validation/parsing errors.
4.1.2 Name, Role, Value (w3.org) A Use markup in a way that facilitates accessibility. Follow the HTML/XHTML specifications and use forms, form labels, frame titles, etc. appropriately.