How do you test Shopify checkout accessibility without touching checkout code?
Shopify locks down checkout code, but that does not make checkout untestable. Keyboard walkthroughs, screen reader passes, and checkout extensibility audits cover most of what matters.
What you cannot change, and what you can still test
On Shopify Plus and standard plans alike, the checkout's core templates are Shopify's code, not yours. You cannot edit the markup, the focus order, or the form validation behavior directly. What you can do is test it, document it, and control everything around it: the cart that feeds it, the extensibility apps that inject into it, and the post-purchase pages that follow it.
This distinction matters because teams use 'we can't touch checkout' as a reason to skip testing checkout entirely. The logic is backwards. Checkout is the highest-stakes flow on the store, which makes it the flow most worth testing even when you cannot fix what you find. A documented checkout issue you cannot fix is still evidence of diligence. An untested checkout is just hope.
The keyboard walkthrough that catches the most
Tab through the entire checkout, from the contact information field to the pay button, without touching the mouse. Note every place focus disappears, every control that cannot be reached, and every error message that appears without moving focus to it. Then do it again with the discount code field, the shipping method radios, and the payment method selection, because those are the interactive elements most likely to have been customized by apps.
Pay special attention to the transitions: cart to checkout, information to shipping, shipping to payment. Focus should land in a sensible place on each new step. If it lands at the top of the page or vanishes entirely, keyboard users have to re-orient on every step, which is the kind of friction that kills conversions for everyone, not just assistive technology users.
Screen reader pass on the money path
Run the checkout with a screen reader and listen for the announcements that matter: step changes, validation errors, order summary updates, and the final confirmation. Shopify's native checkout is generally decent here, which is useful to verify rather than assume. The problems almost always come from what has been added on top.
Checkout extensibility apps, upsell widgets, and custom payment method descriptions are the usual suspects. An upsell modal that does not announce itself, a payment option whose label is an image with no alt text, a delivery date picker that is a mouse-only calendar. Test each addition in isolation, because when the screen reader output goes wrong at checkout, the store owner needs to know exactly which app to blame.
Audit your extensibility apps, not Shopify's code
Make an inventory of everything injected into checkout: checkout UI extensions, post-purchase extensions, shop pay and wallet buttons, and any script tags that touch the checkout domain. For each one, run the keyboard and screen reader checks. The findings here are actionable in a way core checkout findings are not: apps can be reconfigured, replaced, or removed.
This is also where the monitoring story gets practical. Apps update themselves, and an app that was accessible in September can ship an inaccessible widget in November. A recurring scan that covers the checkout-adjacent templates will not catch everything inside the checkout iframe, but a quarterly manual pass over the extensibility inventory will catch the regressions that matter.
Document checkout as tested, not as yours
The deliverable for checkout accessibility is a test report with a clear boundary: these are Shopify's templates, tested on this date, with these findings, and these are the store-controlled elements with their remediation status. That boundary protects the agency and informs the merchant. It says: we looked at the most important flow on your store, here is what we found, here is what we fixed, and here is what only Shopify can fix.
File the report where it will be found during a demand letter response. Checkout is the first place a plaintiff's tester goes, because it is the flow every shopper touches. An agency that can produce a dated checkout test report is in a different negotiating position than one that treated checkout as someone else's problem.