Accessibility testing (deprecated) (FREE)
Introduced in GitLab 12.8.
WARNING: This feature was deprecated in GitLab 15.9 and is planned for removal in 17.0. This change is a breaking change.
If your application offers a web interface, you can use GitLab CI/CD to determine the accessibility impact of pending code changes.
Pa11y is a free and open source tool for
measuring the accessibility of web sites. GitLab integrates Pa11y into a
CI job template.
The a11y
job analyzes a defined set of web pages and reports
accessibility violations, warnings, and notices in a file named
accessibility
.
As of GitLab 14.5, Pa11y uses WCAG 2.1 rules.
Accessibility merge request widget
- Introduced in GitLab 13.0 behind the disabled feature flag
:accessibility_report_view
.- Feature flag removed in GitLab 13.1.
GitLab displays an Accessibility Report in the merge request widget area:
Configure accessibility testing
You can run Pa11y with GitLab CI/CD using the GitLab Accessibility Docker image.
To define the a11y
job for GitLab 12.9 and later:
-
Include the
Accessibility.gitlab-ci.yml
template from your GitLab installation. -
Add the following configuration to your
.gitlab-ci.yml
file.stages: - accessibility variables: a11y_urls: "https://about.gitlab.com https://gitlab.com/users/sign_in" include: - template: "Verify/Accessibility.gitlab-ci.yml"
-
Customize the
a11y_urls
variable to list the URLs of the web pages to test with Pa11y.
The a11y
job in your CI/CD pipeline generates these files:
- One HTML report per URL listed in the
a11y_urls
variable. - One file containing the collected report data. In GitLab versions 12.11 and later, this
file is named
gl-accessibility.json
. In GitLab versions 12.10 and earlier, this file is namedaccessibility.json
.
You can view job artifacts in your browser.
NOTE:
For GitLab versions earlier than 12.9, use include:remote
and
link to the current template in the default branch
NOTE: The job definition provided by the template does not support Kubernetes.
You cannot pass configurations into Pa11y via CI configuration. To change the configuration, edit a copy of the template in your CI file.