---
title: "How to Scope a Website Accessibility Audit"
canonical: https://wavect.io/software-development-guide/website-accessibility-audit/
language: en
description: "Define the critical journeys, representative sample, test methods and finding format before buying an accessibility assessment. Agree remediation and retesting …"
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

Buyer brief

# What should an accessibility assessment actually cover?

Define the critical journeys, representative sample, test methods and finding format before buying an accessibility assessment. Agree remediation and retesting separately.

Short answer

A useful assessment brief names the tasks, sample, criteria and methods, then asks for reproducible findings and a clear statement of what was not tested.

Best for

- Teams procuring an assessment before a rebuild or release.
- Product owners who need actionable findings and a retest plan.

Outside this guide

- Treating one automated score as evidence for the whole website.
- Buying a legal certification from a technical checklist.

// 01

## Compare the options

Use this as a procurement checklist, not a test result.

| Decision | Specify | Avoid |
| --- | --- | --- |
| Journeys | Complete sign-in, form, payment or document tasks as relevant | Checking the homepage alone |
| Methods | Automated checks plus agreed keyboard and assistive-technology evaluation | Treating a scanner score as conformance |
| Findings | Impact, steps, environment, criterion and recommended action | An unprioritized list of tool warnings |
| Follow-up | Fix owner, retest sample and unresolved issues | Assuming fixes are included |

// 02

## Where Wavect lands on this

Start with the people and tasks. Include page templates, interactive states, error paths, mobile layouts and documents that a task depends on. A sample gives evidence about the tested scope; it does not establish that every page is accessible. Ask which browsers and assistive technologies will be used and who has the expertise to interpret the result.

[W3C WAI explains that tools alone cannot determine accessibility](https://www.w3.org/WAI/test-evaluate/). [WCAG 2.2](https://www.w3.org/TR/WCAG22/) provides testable criteria. Agree the target and evaluation scope; a technical assessment is not a legal opinion. Sources checked 19 October 2026.

Illustrative finding: a keyboard user opens a dialog but cannot reach its close control. Record the page and state, browser and keyboard steps, user impact, expected focus behavior, observed behavior, relevant criterion and proposed repair. Retest the complete task after the fix, including whether focus returns sensibly. This is a synthetic example, not an audited customer page.

Discuss the scope through [Software QA](/services/software-quality-assurance/) and use the [launch checklist](/software-development-guide/software-qa-checklist-before-launch/) for wider release risks. Specialist delivery capability, remediation and retesting must be confirmed before commissioning.

### Build a sample around tasks and states

Write down a complete journey such as finding a service, completing an enquiry and understanding a validation error. Then include the templates and states that journey touches: navigation, a modal, an empty result, a failed submission and confirmation. Add representative documents and third-party components when they are required to finish the task. A page list alone can miss the interaction where a user gets stuck.

State why the sample is representative and what it excludes. Repeated templates, language versions and mobile layouts can behave differently. Record the browser, device, assistive technology and test date so a finding can be reproduced. Do not infer that an untested page passes because it shares a header with a tested page.

### Turn the dialog example into a repairable finding

A useful finding says where the dialog is opened, how keyboard focus reaches it, which control becomes unreachable and what the user cannot complete. Include the reproduction steps, expected behavior, observed behavior, relevant criterion and supporting evidence. Distinguish the user impact from a project priority: a release team still needs to agree sequencing and ownership.

After a repair, repeat the original steps and adjacent states. Check opening, interaction, closing and the return to a useful place in the page. Retesting only the changed button can miss the same failure in another dialog state. Keep the original finding, repair reference and retest result together.

### Ask for a result your delivery team can use

Require an issue register, a tested-scope statement, method and environment details, and a handover discussion of unresolved items. Agree how findings become implementation tickets and which repairs require specialist interpretation. Commissioning an assessment, fixing a component and verifying the repair are related but separately accountable tasks.

// 03

## Where this usually goes wrong

- A crawler checks public pages but never reaches an authenticated form or its error state. Include access and test accounts in the agreed preparation.
- A report groups every warning under one severity without explaining who is blocked. Require task impact and reproducible evidence for prioritization.
- Repairs change the design system but nobody retests other instances. Agree a representative regression sample as well as the originally reported page.

// 04

## The checklist

Use this to prepare your scope.

- List critical journeys, representative pages and documents.
- Agree criteria, browsers, devices and assistive technologies.
- Identify qualified evaluators and required user participation.
- Require findings with impact, reproduction steps and scope limits.
- Agree who fixes issues and how changes are retested.
- Name the person accepting the report and the person assigning repairs.
- Specify access to authenticated journeys and third-party components.
- Require an issue register linking original findings to repairs and retest results.

// 05

## What this looks like in our work

MyMerch provides adjacent storefront-improvement context, not evidence of an accessibility conformance audit.

### [MyMerch](/case-studies/mymerch/)
- **Status:** Live
- **Outcome:** ~50% - Efficiency Gain (Client-Reported)
- **Summary:** ~50% efficiency gain (client-reported). Delivery errors reduced, Shopify storefront conversion lifted, no rewrite.
- **Stack:** Shopify, Shopify Liquid, JavaScript

These are selected projects, not our full portfolio. We have shipped 75+ products since 2018.

// 06

## Related services & reading

- [SERVICE Software QA](/services/software-quality-assurance/)
- [GUIDE Software QA checklist before launch](/software-development-guide/software-qa-checklist-before-launch/)
- [CASE STUDY Mymerch](/case-studies/mymerch/)

// 07

## FAQs

### Can an automated scan replace manual evaluation?

No. Use it to find some issues and support repeatable checks; human evaluation is still required.

### Are fixes and retesting included?

Only if agreed. Assessment, implementation and verification of repairs are separate work items.

### Does an assessment certify legal compliance?

No legal assurance follows from a scanner result or this guide. Legal applicability and the appropriate evaluation target need separate review.

Last reviewed: 2026-10-19 by [Kevin Riedl](/team/kevin-riedl/) [wiki ↗](https://www.wikidata.org/wiki/Q139796365)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/software-development-guide/website-accessibility-audit/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-10-19",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-10-19",
      "url": "https://wavect.io/software-development-guide/website-accessibility-audit/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/software-development-guide/website-accessibility-audit/#article",
      "@type": "Article",
      "about": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "author": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "dateModified": "2026-10-19",
      "datePublished": "2026-10-19",
      "description": "Define the critical journeys, representative sample, test methods and finding format before buying an accessibility assessment. Agree remediation and retesting separately.",
      "headline": "What should an accessibility assessment actually cover?",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-10-19",
      "mainEntityOfPage": "https://wavect.io/software-development-guide/website-accessibility-audit/#webpage",
      "mentions": [
        {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        {
          "@type": "Service",
          "name": "Software QA",
          "url": "https://wavect.io/services/software-quality-assurance/"
        }
      ],
      "name": "What should an accessibility assessment actually cover?",
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "reviewedBy": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".cmp-hero__headline",
          ".cmp-hero__lead"
        ]
      },
      "url": "https://wavect.io/software-development-guide/website-accessibility-audit/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/software-development-guide/",
          "name": "Software development guide",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/software-development-guide/website-accessibility-audit/",
          "name": "What should an accessibility assessment actually cover?",
          "position": 3
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. Use it to find some issues and support repeatable checks; human evaluation is still required."
      },
      "name": "Can an automated scan replace manual evaluation?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Only if agreed. Assessment, implementation and verification of repairs are separate work items."
      },
      "name": "Are fixes and retesting included?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No legal assurance follows from a scanner result or this guide. Legal applicability and the appropriate evaluation target need separate review."
      },
      "name": "Does an assessment certify legal compliance?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
