A11ying with Sanna - I would if I could a guide to web accessibility

Tools and techniques for accessibility testing

There are a lot of tools and techniques for accessibility testing. This page contains a list of some of the tools I've been using while doing accessibility audits.

Testing colors might require manual work

Browsers and tools can detect color contrast quite well. I've noticed that some tools don't recognize dark and light modes that are built with Tailwind. If that happens, test the contrast manually.

Simulating vision deficiencies in Chrome

Chrome has a tool for emulating vision deficiencies. Open DevTools, select More tools, then Rendering. At the bottom, there is a dropdown with options for some vision deficiencies.

Note that simulation doesn't accurately show what people are seeing. But it can give you some perspective.

Simulating vision deficiencies on Mac

If you go to System Settings > Accessibility > Display, you can find Colour Filters. There is a Filter type setting that allows you to simulate vision deficiencies.

Setting color scheme preferences in operating systems

CSS media feature prefers-color-scheme listens to the settings on a user's operating system.

Setting your color scheme preference on Windows 10

The last time I checked, you can find the settings like this: Settings > Personalization > Colors > Choose your color. 

If you have chosen custom, then the setting the prefers-color-scheme listens to is Choose your default app mode.

Setting your color scheme preference on Mac

Go to System Settings > Appearance. You can choose between light, dark and auto.

Testing for motion reduction preferences requires manual work

While this isn't required by AA-level requirements, I recommend checking for these if the site has animations or auto-playing content. 

Setting your motion reduction preferences in operating systems

The CSS media feature prefers-reduced-motion listens to the settings on a user's operating system.

Setting your motion reduction preference on Windows 10

Go to Settings > Ease of Access > Display > Show animations in Windows.

Setting your motion reduction preference on Mac

System Settings > Accessibility > Display > Reduce motion

This section also has a setting to dim flashing lights, which might be useful to you.

I recommend always testing screen readers manually

While automated tools can detect, for example, ARIA mistakes, I recommend you always do manual screen reader testing.

There are multiple screen readers available for Windows:

For Apple devices:

For Android:

Keyboard testing requires manual testing

Some tools can check tabbing logic, but they might not be able to catch possible issues accessing some of the elements.

  • You should be able to access all areas of the website by only using the keyboard.
    • Custom dropdown elements can be problematic. Check that you can access them and that they work as you would expect.
    • Check that you can close all popup elements. The close buttons can often be neglected.
  • There shouldn't be any keyboard traps, which you can't get out of.
  • The tab order should be logical.
  • Is there a "skip to main content" link at the start of the page? Are there skip links with other navigation elements than the main navigation?

Testing zooming

On Firefox you have a setting to zoom either the page or just the text. Both are zoomed with cmd/ctrl and +/-.

On Safari you use cmd and +/- for regular zoom. When you add the option key to the combination, you can zoom text only. Note that on Safari you can actually use both zooming options.

There are not that many tools that test for text content accessibility

I've recently learned about the Hemingway Editor. With it, you can get an assessment of the readability grade of your content.

Some automated tools might report on content-related quality, but I haven't seen it work for any other language than English.

Some free testing tools you can use

Chrome has a tab for Lighthouse. The tool generates a report of multiple categories, one of which is accessibility.

Firefox and Chrome both include built-in tools to inspect the element's accessibility properties, including name and description. Chrome Developer Tools will also show the hierarchy of the accessible name computation for a specific element. This tool can help you test for criterion 2.5.3.

HTML_Codesniffer bookmarklet is a quite nice tool. It lists the errors and warnings of a page for WCAG criteria. It provides you with details of the errors along with the problematic code snippet.

WAVE (Web Accessibility Evaluation Tool) can be used on the website and it is also available as an extension for Chrome and Firefox.

The W3C Markup Validation Service can be used by giving it a page address or you can upload a file or use direct input. As a result, you will receive a list of errors and warnings as well as the reasons for each one and the row of the problematic code. This tool is more useful to developers because developers can interpret the results. The tool isn't perfect, but it picks up most errors.

Text spacing bookmarklet helps you test for criterion 1.4.12.

Materials on testing for accessibility

UK Government Digital Service team has recently published their internal guide on how to test for each specific WCAG criteria (level AA).

Practice testing for accessibility

I created a testing site for a workshop. Feel free to use it to test some accessibility issues. The site also has some accessibility information added to each section.