How should an agency run an accessibility QA gate before a client store launches?
An accessibility launch gate works only if it can stop a launch. That means a written checklist, a clear pass bar, one named owner, and a run on the final production build, not a staging snapshot from three weeks ago. Anything softer is a suggestion, and suggestions get skipped under launch pressure.
Make the gate a blocker, not a suggestion
Most agencies say they check accessibility before launch, but the check is a step someone can skip when the timeline slips. A real gate has one property: the launch does not happen until the gate passes. That needs to be in writing, agreed with the client before the build starts, with a defined process for what happens when the gate fails.
The agreement should name the decision maker. Usually that is the agency QA lead or the accessibility specialist, not the client stakeholder who is most excited about the launch date. When the person who owns the gate also owns the calendar, the gate will quietly move. Separate the two roles and the gate keeps its teeth.
Define what pass means before you test
A gate without a pass bar is just vibes. Write the bar down: zero critical issues, zero keyboard traps, all checkout and cart flows operable with a screen reader, every page tested against WCAG 2.2 AA. Also define scope: which templates and components the gate covers, and which tools constitute the test pass.
Be specific about severity. Not every finding blocks a launch. Cosmetic contrast on a tertiary label can ship with a dated fix ticket. A checkout button that is unreachable by keyboard cannot. Define the severities in advance so the gate review is about evidence, not negotiation.
Run the gate on the real build
Accessibility gates fail most often because they run on the wrong build. Test the final production deploy: the real theme, the real app stack, the real content with the real product images and alt text. Staging environments lie in both directions, hiding production-only scripts and missing production content.
Freeze the build during the gate. If developers keep merging while QA tests, the test results describe a build that no longer exists. A 48-hour code freeze around the gate run is standard practice and worth every complaint it generates.
Cover the flows that matter most
A full-site audit is ideal, but gate time is finite, so sequence by risk. The checkout flow comes first, then account creation and login, then search and product discovery, then the homepage and collection templates. These are the pages where a barrier costs the client revenue or triggers a complaint.
For each flow, run the same protocol: full keyboard pass, screen reader pass on at least one platform, zoom to 200 percent, and a scan with an automated tool to catch the mechanical issues. The automated scan is the floor, not the ceiling. It finds the missing alt text; only a human finds the focus order that makes no sense.
Document the decision, including waivers
Every gate run should end with a dated record: what was tested, what passed, what failed, and what was waived. Waivers are legitimate, but they need an expiry date and a retest ticket, not a shrug. A waiver without a retest date is a permanent exception wearing a temporary costume.
The client signs the gate record. This is not about blame; it is about shared reality. If a waived issue later becomes a demand letter exhibit, both sides can point to the same document that says the issue was known, risk-ranked, and scheduled for a fix.
Schedule the first retest before launch day
A launch gate is a snapshot, not a guarantee. Content teams, apps, and theme updates start introducing regressions within weeks. Before the gate closes, schedule the first post-launch retest, usually 30 days out, and assign it the same owner.
Agencies that sell the retest as part of the launch package do two things at once: they protect the client from regression drift, and they create the natural opening for a monitoring retainer. The gate is the first deliverable of an ongoing practice, not a one-time ceremony.