Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve our use of automated accessibility tools #1971

Closed
7 tasks done
36degrees opened this issue Sep 24, 2020 · 3 comments · Fixed by #3522
Closed
7 tasks done

Improve our use of automated accessibility tools #1971

36degrees opened this issue Sep 24, 2020 · 3 comments · Fixed by #3522
Labels
accessibility documentation User requests new documentation or improvements to existing documentation tooling

Comments

@36degrees
Copy link
Contributor

36degrees commented Sep 24, 2020

What

Extend our use of Axe (and/or other automated testing tools) to cover more of our examples, and run in an environment where JavaScript and CSS are included and run.

Why

#1966 was caught downstream by a user who was running Axe against their application. Improving the way we use automated testing tools will improve the chances of issues like this being caught before they can be released.

Further detail

At the minute, we use jest-axe on some (but not all) of the examples for each component, but it runs against the markup only – it’s not run in an environment where CSS / JS are included. We may want to remove these tests if we are able to test in an environment where JS / CSS is included.

We do have other tests that run in Puppeteer for components that use JavaScript, but we do not use Axe in Puppeteer.

Done when…

  • we've identified which examples or pages are beneficial to test
  • tests are run against those examples
  • tests are run in an environment where CSS and JavaScript are included
  • any redundant tests are removed
  • issues identified in the tests are reported clearly on the command line
  • the build fails when issues are identified
  • we have a way to silence false positives (for example, issues that are raised as a result of testing a component in isolation)
@36degrees
Copy link
Contributor Author

36degrees commented Sep 24, 2020

From talking to a developer at DfE where issue #1966 was caught, this is their setup:

This is our end to end testing repository: https://github.com/DFE-Digital/apply-for-teacher-training-tests/

It's a git repo that contains a cypress end to end test, nothing fancy or unusual. The tests are triggered via github actions whenever we deploy qa/staging/production

We're using cypress-axe in a couple of ways:

https://dashboard.cypress.io/projects/tqfe7m/runs/1009/failures is an example of the failing test that caught the issue in #1966.

They suggested we could look at using axe-puppeteer to do something similar.

@m-green m-green added the documentation User requests new documentation or improvements to existing documentation label Sep 24, 2020
@36degrees
Copy link
Contributor Author

This also came up as part of a 'tech & ops health check' exercise the team ran in November 2020, as part of the 'testing – pre-deployment' practise.

We scored ourselves as 'good' for that practise, but said that we were 'moderately concerned' about it as we know there are some areas that could be improved. This was flagged as one of the things that we wanted to do.

@colinrotherham
Copy link
Contributor

We ended up closing this (and including all component examples) in:

@36degrees 36degrees moved this from In progress 📝 to Done 🏁 in GOV.UK Design System cycle board Apr 24, 2023
@colinrotherham colinrotherham removed their assignment Dec 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accessibility documentation User requests new documentation or improvements to existing documentation tooling
Projects
Development

Successfully merging a pull request may close this issue.

3 participants