/thisiswcag

A non-biased, community-driven effort expanding all 50 WCAG 2.1 AA success criteria into discrete tests grouped under filtered categories.

Primary LanguageCSS

Netlify Status

This is WCAG

WCAG success criteria in plain language. Understand how to build and test against WCAG consistently.

thisiswcag.com is a starting point when building against WCAG 2.1. Many of the tests have made arbitary decisions for things which must be done to be conformant. Regular community feedback is shaping each of the tests to give sufficient guidance for people new to accessibility yet flexible enough for alternative techniques to be applied.

This project is aimed at conveying facts. Tests strive to avoid personal preferences for identifying accessibility failures.

The Categories

The success criteria are grouped according to what part of the website you're developing. Allowing you to focus on the relevant criteria you need to apply and understand when building or testing.

Using the tests

Each test is written in a way which is clear to understand. Accessibility guidance for font sizing:

  • text smaller than 18.6px and bold has a minimum contrast ratio of 4.5:1 with the background colour
  • text at least 18.6px and bold has a minimum contrast ratio of 3:1 with the background colour
  • text smaller than 24px and not bold has a minimum contrast ratio of 4.5:1 with the background colour
  • text at least 24px and not bold has a minimum contrast ratio of 3:1 with the background colour

Some tests are conditional:

  • A test followed by AND = the previous test AND this test must be applied to pass the success criteria
  • A test followed by OR = the previous test OR this test must be applied to pass the success criteria

Examples

Apply any of the 3 tests

  • 1.1.1 Non-text Content - two different modalities of CAPTCHA are provided
  • 1.1.1 Non-text Content - or, providing access to a human to bypass CAPTCHA
  • 1.1.1 Non-text Content - or, not requiring CAPTCHA for authorised users

Apply both tests

  • 1.3.1 Info and Relationships - two or more radio buttons, or checkbox controls must be grouped using a <fieldset>
  • 1.3.1 Info and Relationships - and, the <fieldset> must have a succinct <legend> element

What this list isn't

It's not a catch-all list for things which you feel should be accessibility failures but aren't. This is a list of what each WCAG 2.1 success criteria means in one or more tests.

Contributing

Disagree with any of the tests? great! All requests are welcomed and appreciated and there are several ways to contribute:

  • Create a PR and ammend the details in data/json.js
  • Log an issue in this repo, click "Issues" and follow the process of adding an issue
  • Send a Twitter DM to @thisiswcag to indicate you disagree and want to alter a test/add a test

Not every request will be actioned. If your request is to add or ammend a test, you will need to justify how the test fails against WCAG. Non-sequential headings are not a WCAG 2.1 failure.

https://www.tpgi.com/heading-off-confusion-when-do-headings-fail-wcag/

WCAG techniques, such as H42: Using h1-h6 to identify headings and ARIA12: Using role=heading to identify headings, recommend that heading markup indicate the appropriate heading level for the content, but they don’t go so far as to define what’s “appropriate”—an issue that has been the subject of considerable discussion. So although hierarchical heading structures reflect a best practice, skipping heading levels does not represent a WCAG failure.

Changelog

This checklist is a living document where tests can change regularly, consult the changelog for details.

License

Licenced under Creative Commons licence Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
Copyright (c) CANAXESS 2021