An accessibility review examines whether people with disabilities can complete the affected tasks and whether the interface satisfies the applicable accessibility requirements. Use this process for Drupal core, contributed projects, themes, and sites.

A contribution review is not automatically a conformance audit. A conformance claim requires a defined scope, complete processes, representative pages and states, and an appropriate evaluation method. This guide helps contributors find barriers, prevent regressions, and record evidence that another reviewer can reproduce.

1. Define the review scope

Start with the user task, not a testing tool. Identify what changed, who may be affected, and what a person must be able to perceive, understand, and operate.

Record the relevant:

Select the checks that apply to the affected task and surfaces. Record what is included, what is excluded, and why. Do not exclude a task, surface, or state known to be affected by the change. For Drupal core, state whether the accessibility gate applies to all or part of the change, or is not applicable. Resolve a disputed applicability decision before passing the gate. For a contributed project, follow any project-specific review and release requirements and use this guide to select relevant evidence.

For a proposed change, record the behavior before and after applying it. If no comparable baseline exists, record why and define the expected result. Test every state introduced or changed, including loading, empty, error, expanded, selected, disabled, and completed states where relevant.

A stable preview makes a review easier to repeat. Drupal core, Drupal CMS, and many contributed projects provide Tugboat previews for merge requests. A local environment is also acceptable when the configuration and steps are documented.

2. Distinguish barriers, requirements, and rules

Use four levels of evidence:

  1. Accessibility barriers affect people and tasks. Describe who is affected and what becomes difficult or impossible.
  2. Accessibility requirements include Web Content Accessibility Guidelines (WCAG), Authoring Tool Accessibility Guidelines (ATAG), and Drupal policies.
  3. Test rules evaluate particular conditions. A rule may test part of a requirement, contribute evidence about several requirements, or cover an optional best practice.
  4. Automated gates use the smaller subset of rules that are deterministic in the project environment and do not routinely produce false positives.

A barrier may exist without a direct WCAG mapping. A WCAG failure may exist even when one user does not encounter it. Passing an automated rule does not establish that a success criterion is satisfied, and passing every available rule does not establish conformance.

Use the Accessibility Coding Standards as the reference for required implementation behavior.

3. Run relevant automated checks

Automated tools can identify some deterministic failures and flag other conditions for review. Run them after the affected content and interaction state are available, not only on the initial page load.

Drupal core uses axe-core with Nightwatch on representative public and administration pages. New or substantially changed interactive behavior should receive automated regression coverage where practical.

A failed automated rule may block a build only when the result is deterministic and consistently represents a defect in the tested environment. Keep rule exceptions narrow, explain why each rule is disabled, link to an issue that tracks the underlying problem, and state when the exception should be rechecked. Do not suppress an entire rule set to remove inconvenient results.

4. Perform manual checks

Automated testing does not replace manual evaluation. Perform the checks that apply to the affected task and record the result of each check.

Keyboard and focus

Pointer, touch, and alternative input

Zoom, reflow, and personalization

Structure, names, and visual information

Forms, errors, and authentication

Dynamic content

Media, timing, and motion

Authoring workflows and generated content

For editors, layout tools, media tools, and other authoring features, review both the interface used by authors and the content it produces.

Record separate outcomes for whether disabled authors can complete the task and whether the feature preserves accessibility information and helps authors produce accessible output. Assess the rendered output against the relevant WCAG target.

5. Test with assistive technology

Select browser and assistive-technology combinations based on the project’s support policy, the affected users, and the behavior being reviewed. Record the exact browser, operating system, and assistive-technology versions, the task and state tested, and the test date. Testing every available combination is neither possible nor necessary.

Complete the defined tasks rather than exploring the page without a goal. Check:

A contributor who does not regularly use a screen reader can identify implementation defects, but that test does not reproduce the experience of a person who relies on it. Do not turn off the monitor as a substitute for testing with blind users. Do not infer that one assistive-technology result applies to every product, browser, disability, or user.

6. Test with disabled users

Include disabled users when reviewing new, complex, high-impact, or unfamiliar patterns where possible. Participation should be voluntary and informed. Ask participants to complete defined tasks using their usual technologies and strategies. Fix obvious standards failures before user testing so the session can focus on problems that technical review is less likely to find.

Record the test scope, access method and environment relevant to the finding, observed barriers, and limitations. Default to an anonymized, task-based summary. Do not require a diagnosis, treat participants as approvers or representatives of a group, or generalize one person’s result to an entire disability group. Do not attach recordings, names, contact details, or uniquely identifying participant details to a public issue without explicit permission.

User testing can identify barriers that WCAG evaluation misses. It does not establish WCAG conformance and does not replace standards-based review.

7. Record reproducible evidence

A review is useful only when another contributor can understand and repeat it. Record:

Raw tool output is not a complete bug report. Explain the user impact and the evidence needed to reproduce the result.

After a fix, repeat the failed task and the relevant automated and manual checks. Also test adjacent states and components that use the same pattern. Record the successful retest rather than closing the issue from code inspection alone.

Record the review disposition and rationale, including whether a result blocks approval, needs manual review, belongs in a follow-up issue, or is an accepted narrow exception. For a follow-up or exception, record the condition for rechecking it.

8. Determine the review outcome

Accessibility review outcomes
Result Treatment
Confirmed barrier or new Level A or AA failure Resolve it before approval. Add regression coverage where practical.
Deterministic automated regression It may block the build when the rule is reliable in the tested environment.
Incomplete, unstable, or context-dependent result Send it to manual review. Do not make it an unattended blocker.
Pre-existing problem outside the change Document it and create a follow-up issue. Confirm that the change does not make it worse.
Level AAA or optional best practice under an AA target Report it as aspirational, not as a Level AA failure.
False positive Document the test context and rationale. Use only a narrow suppression or baseline exception.
Barrier without a direct WCAG mapping Treat it as an accessibility or usability problem based on its effect on the task. WCAG does not cover every user need.

For Drupal core, apply the accessibility gate. The gate defines the indicators for adding the Needs accessibility review issue tag and records its Topic Maintainer signoff requirement. Routine changes using established patterns still need applicable evidence, but do not automatically require the tag.

See also the guidance on ensuring a contribution is accessible.