Guest Checkout From the Cart: The Keyboard Flow Nobody Tests
The guest checkout path is the path a keyboard user takes when they do not want an account, which is most of them. The cart hands them to an address form, the form hands them to a shipping choice, and the shipping choice hands them to payment. Any one of those handoffs can strand a keyboard user: a focus trap in a date picker, a continue button that only appears on hover, a drawer that opens and never gives focus back.
The test case is a real person, not a checklist item. A shopper using a keyboard because of a motor impairment, or a screen reader user tabbing through the form, has no mouse to rescue them when the focus disappears. If the flow strands them, the sale is lost, and the shopper does not come back to try again.
The stranded shopper is the test case
WCAG 2.4.3, Focus Order, says the tab order must follow the visual order and make sense. A checkout that tabs from the email field to the footer and back to the address field fails it, even if every field is reachable eventually. WCAG 3.3.1, Error Identification, says an error must be identified in text, and 3.3.3, Error Suggestion, says the page must say how to fix it.
Focus visibility is the third leg. WCAG 2.4.7, Focus Visible, requires a visible focus indicator on every interactive element. A checkout that hides the focus ring for aesthetic reasons is a checkout that keyboard users navigate blind. The indicator does not have to be ugly; it has to be visible.
Three criteria decide it
Submit the address form empty and watch what happens. Each missing field should get an error message next to the field, in text, and the focus should move to the first error. Then submit a bad postcode, then an expired card. Each error must appear at the field it belongs to and be announced to a screen reader. An error that appears only at the top of the page, in a summary the screen reader never reaches, fails 3.3.1.
Check the payment step separately, because it is usually an iframe from a payment provider, and iframes are where focus goes to die. Tab into the card number field and back out again. If focus disappears into the iframe and Tab never brings it back, the checkout has a keyboard trap, and WCAG 2.1.2 forbids it outright.
The error test takes five minutes
Four checks, five minutes, before every release. Tab order follows the visual order from the cart to the confirmation page. No keyboard traps anywhere, including the payment iframe and any address lookup widget. Focus is visible on every control, including the continue buttons. Errors appear at the field, in text, and are announced once.
Keep reading: Quantity Steppers That Announce Themselves: Live Regions in the Cart, When a Cart Item Is Removed, Where Does Focus Go?.
The pre-release checklist
Run the whole flow as a guest, not as a logged-in user, because the guest path is the one with the account-creation prompt, the email confirmation, and the extra steps that break focus order. The logged-in path is shorter and hides the failures. The guest path is where the shoppers are, and it is where the test belongs.
Frequently asked questions
What is the keyboard test for guest checkout?
Unplug the mouse and complete a purchase as a guest using Tab, Shift plus Tab, and Enter only. If you reach the confirmation page, the flow passes.
Which WCAG criteria apply to checkout errors?
Criterion 3.3.1, Error Identification, and 3.3.3, Error Suggestion, plus 2.4.3, Focus Order, for the tab sequence through the form.
Why do checkout errors fail accessibility audits?
The error appears at the top of the page, not at the field, so a screen reader user never hears which field failed or how to fix it.
What is a keyboard trap in a cart?
Focus enters a widget, like a date picker or a drawer, and Tab cannot get out. WCAG 2.1.2 forbids keyboard traps outright.