> For the complete documentation index, see [llms.txt](https://docs.does.qa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.does.qa/better-coverage/add-accessibility-checks.md).

# Add accessibility checks

Accessibility Checks catch role, label, and WCAG issues in the same journey as your functional steps. Mix page-level Validators with Checks on the controls that matter most.

Use the **Flow Builder** for this walkthrough.

## Choose the right step

| Test Step                                                         | Use it to                                |
| ----------------------------------------------------------------- | ---------------------------------------- |
| [Axe](/test-steps/validator/axe.md)                               | Run a WCAG conformance scan on the page  |
| [Pa11y](/test-steps/validator/pa11y.md)                           | Run a WCAG conformance scan with Pa11y   |
| [Accessibility](/test-steps/validator/accessibility.md)           | Assert a Lighthouse accessibility score  |
| [Check computed role](/test-steps/check/check-computed-role.md)   | Assert the accessible role of an Element |
| [Check computed label](/test-steps/check/check-computed-label.md) | Assert the accessible name of an Element |

Start with [**Axe**](/test-steps/validator/axe.md) or [**Pa11y**](/test-steps/validator/pa11y.md) for a page scan. Add computed role and label Checks on buttons, links, headings, and form fields that users must understand.

## Scan the page

{% stepper %}
{% step %}

## Open the page

Start with [**Open**](/test-steps/starter/open.md). Continue with [**Touch**](/test-steps/action/touch.md) and other steps until the screen you want to audit is showing.
{% endstep %}

{% step %}

## Add Axe or Pa11y

From the [**Validator**](/test-steps/validator.md) family, add [**Axe**](/test-steps/validator/axe.md) or [**Pa11y**](/test-steps/validator/pa11y.md).

Set **Conformance Level** to the WCAG level your team expects. Axe defaults to **WCAG 2.1 - AA**.
{% endstep %}

{% step %}

## Optional: assert a Lighthouse score

Add [**Accessibility**](/test-steps/validator/accessibility.md) when you want a score threshold as well as a conformance scan.

Choose a [Comparison Type](/test-step-options/comparison-type.md) and a **Value**, such as greater than or equal to `85`.
{% endstep %}
{% endstepper %}

## Check role and label on key Elements

{% stepper %}
{% step %}

## Reach the control

Stay on the same screen, or navigate to the control with Action steps.
{% endstep %}

{% step %}

## Assert computed role

Add [**Check computed role**](/test-steps/check/check-computed-role.md).

Choose the [Element](/elements/creating-elements.md), a [Comparison Type](/test-step-options/comparison-type.md), and the expected role, such as `button` or `link`.
{% endstep %}

{% step %}

## Assert computed label

Add [**Check computed label**](/test-steps/check/check-computed-label.md) on the same or another Element. Set the expected accessible name, such as `Create account`.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Pro tip:** Put accessibility Validators after the screen is fully loaded and after any consent or overlay steps, so the scan sees the same UI a user would.
{% endhint %}

You can add [**Performance**](/test-steps/validator/performance.md), [**SEO**](/test-steps/validator/seo.md), and other Lighthouse Validators on the same screen when you want several scores in one journey. See [Test page performance](/better-coverage/test-page-performance.md) and [Test SEO](/better-coverage/test-seo.md).

## Related

* [Axe](/test-steps/validator/axe.md)
* [Pa11y](/test-steps/validator/pa11y.md)
* [Accessibility](/test-steps/validator/accessibility.md)
* [Check computed role](/test-steps/check/check-computed-role.md)
* [Check computed label](/test-steps/check/check-computed-label.md)
* [Test page performance](/better-coverage/test-page-performance.md)
* [Test SEO](/better-coverage/test-seo.md)
* [Add visual checks](/better-coverage/add-visual-checks.md)
* [Choose durable selectors](/better-coverage/choose-durable-selectors.md)
