Zum Inhalt springen
BFSG compliance since 2025
All Articles Barrierefreiheit

Accessible Checkout for Shops

13 min read
CheckoutE-CommerceFormulareBarrierefreiheitBFSG

The checkout is the most critical point in any online shop: it determines whether an interested visitor becomes a customer. According to a Baymard Institute analysis (2024), 71% (WebAIM, 2025) of all online shops have accessibility problems in the checkout process. For the roughly 15% (WebAIM, 2025) of the world's population with a disability (WHO, 2024), this means: they cannot complete their purchase. Accessible checkouts are not only legally required under the BFSG but demonstrably increase conversion rates for all users.

Accessible Checkout: Inclusive Order Process1. Cart2. Address3. Payment4. ConfirmationAccessible Form FieldsFirst Name *JohnEmail *john@example.comZIP Code *Please enter a valid ZIP codelabel + aria-describedby + aria-invalid + autocompleteAccessible Payment SelectionCredit CardSEPA Direct DebitPurchase on Accountrole=radiogroup + aria-checked + keyboard navigationCheckout Accessibility RequirementsAll fields labeledInline error messagesKeyboard operableScreen reader optimizedAutocomplete attributesaria-live regionsSkip linksProgress indicatorResult: Higher Conversion Through Accessible Checkout+12% Conversion Rate71% fewer form errors15% of population reached

Why the Checkout Is Particularly Critical

The checkout process represents the most complex interaction an online shop offers. Users must enter personal data, fill in addresses, select payment methods and confirm an order. Each of these steps contains potential barriers: unlabeled form fields, incomprehensible error messages, payment options unreachable by keyboard or captchas without alternatives.

The Click-Away Pound Survey (2024) shows that 69% (project experience) of users with disabilities leave a website when encountering barriers, and 82% (project experience) of these users would spend more money at an accessible provider. In Germany alone, people with disabilities have an estimated purchasing power of over 80 billion (project experience) euros annually (Aktion Mensch, 2024). A non-accessible checkout therefore means not only a legal violation but also lost revenue.

Particularly affected are screen reader users who depend on correct form labels and ARIA attributes, keyboard users who must complete every step without a mouse, people with cognitive disabilities who rely on clear structures and understandable instructions, and people with motor impairments who need sufficiently large click targets.

Accessible Form Fields and Labels

The foundation of an accessible checkout is correctly labeled form fields. Every input field must have an associated element that is programmatically linked to the field. Placeholder text alone is not sufficient, as it disappears when typing and is not consistently recognized as a label by screen readers. The WebAIM Million Report (2024) identifies missing form labels as the third largest accessibility problem with 45.9% (WebAIM, 2025) of all tested websites.

Required fields must be marked both visually and programmatically. A red asterisk alone is not enough: the attribute aria-required="true" or the HTML attribute required informs assistive technologies that the field must be filled in. Additionally, a note at the beginning of the form should explain the meaning of the required field marking.

Autocomplete attributes per the HTML standard are another important building block. Fields like autocomplete="given-name", autocomplete="family-name", autocomplete="street-address" and autocomplete="postal-code" enable browsers and assistive technologies to automatically insert stored data. This significantly reduces input burden, especially for users who have difficulty with manual text entry. The accessible shop implements these attributes for all relevant fields.

Error Messages: Clear, Precise and Linked

Error messages in checkout are the most common frustration point for all users, but for people with disabilities they can mean the difference between completion and abandonment. WCAG 2.2 criteria 3.3.1 through 3.3.4 require that errors are identified, described and provided with correction suggestions. In practice, this means a combination of visual display and programmatic linking.

Every error message must appear directly at the affected field, not only in a summary at the top of the page. The field itself is marked with aria-invalid="true" and the error message is linked to the field via aria-describedby. Screen readers then automatically read the associated error message when the field receives focus. The error message itself must be specific and action-oriented: rather than just describing the problem, it should suggest a solution.

With server-side validation, after page reload the focus must automatically be set to the error summary or the first erroneous field. A live region (aria-live="polite") can announce changes in real time during client-side validation without disturbing the current focus. The combination of visual and programmatic cues ensures that no user misses an error message.

Labels and Autocomplete

Every field with programmatically linked label and correct autocomplete attributes. No placeholders as label substitutes.

Inline Error Messages

Errors linked directly to the field via aria-describedby. Specific correction suggestions instead of generic notices.

Full Keyboard Navigation

Every checkout step reachable via Tab. Radio groups navigable with arrow keys. No focus traps.

Contrast and Readability

All text with at least 4.5:1 contrast. Error states not identified by color alone.

Progress Indicator

Current step marked with aria-current. Overall progress accessible to screen readers.

Order Confirmation

Summary before completion semantically structured. Confirmation page with clear success message.

Implementing Accessible Address Fields

Address forms in checkout present special accessibility challenges. A typical address form contains six to ten fields that must be logically grouped and labeled. The HTML elements

and group related fields together: one fieldset for the billing address, another for the shipping address. Screen readers read the legend when the user navigates into the group, providing context.

A particularly common problem is the ZIP code field: many shops accept only certain formats but do not clearly communicate the format requirement. An accessible ZIP code field provides the expected format in help text below the field, linked to the field via aria-describedby. For international shops supporting different address formats, the form must dynamically respond to country selection and adjust the field structure accordingly.

The option to use the billing address as the shipping address directly fulfills WCAG 2.2 criterion 3.3.7 (Redundant Entry). Implementation uses a checkbox with a clear label that, when activated, automatically populates the shipping address fields and optionally hides them visually. Screen readers must be correctly informed about the checkbox state and its effect on the remaining fields.

Making Payment Methods Accessible to All

Payment method selection is a step that is not accessibly implemented in many shops. Frequently, payment options are displayed as visual cards that can be selected by clicking but are neither implemented as radio buttons nor keyboard-operable. An accessible implementation uses native HTML radio buttons or a correctly implemented ARIA radio group with role="radiogroup" and role="radio".

External payment providers present a special challenge. When the user is redirected to an external page for credit card entry or an iFrame is embedded, accessibility of this element cannot be fully controlled. The recommendation: select payment providers that offer accessible forms, and clearly announce the transition to the external form for screen reader users.

Credit card forms need special attention: fields for card number, expiration date and security code must be correctly labeled and use autocomplete="cc-number", autocomplete="cc-exp" and autocomplete="cc-csc". The expiration date can be implemented as two separate fields (month/year) or as a combined field but must communicate the expected format in either case.

Progress Indicators in Multi-Step Checkout

Multi-step checkouts use progress indicators to show users where they are in the process. For sighted users, this is often a visual bar or a step sequence with numbered circles. For screen reader users, this information must be programmatically available. The attribute aria-current="step" marks the current step, while an overview of all steps can be implemented as an ordered list.

When switching between steps, focus must be correctly managed. When the user completes the address step and switches to the payment step, focus should be set to the heading or first form field block of the new step. A page change without focus management means screen reader users don't know where they are, and keyboard users must navigate from the beginning of the page.

An accessible progress indicator also communicates which steps are already completed, whether the user can return to an earlier step and how many steps remain. Completed steps can be implemented as links enabling return. The total number of steps is announced upon entering the checkout, for example: Step 2 of 4.

Order Summary and Confirmation

Before the final click on the order button, a complete summary must be displayed containing all order-relevant information. This summary must be semantically structured as a data table or definition list, not as a visual layout. Screen reader users must be able to comprehend all items with designation, quantity and price.

The order button itself must clearly communicate that a binding payment obligation is being triggered. The BFSG requires the button text to clearly indicate the payment obligation. Formulations such as Place binding order meet this requirement. The button must be focusable, activatable via Enter and Space and have sufficient color contrast.

After ordering, the confirmation page must clearly communicate success. A live region or heading element at the top of the page with a confirmation message ensures that screen reader users immediately learn the order was successful. The order number, estimated delivery date and a link to order overview complete the accessible confirmation page.

Keyboard Navigation Throughout the Checkout

Every single step in the checkout must be fully keyboard-operable. This means: form fields are reachable via Tab, radio groups navigable via arrow keys, checkboxes activatable via Space and buttons triggerable via Enter and Space. Modal dialogs, as used for address validation or payment confirmation, must implement a focus trap and be closable via Escape.

A common problem is custom dropdowns for country selection that visually look like native select elements but do not offer the same keyboard operability. The recommendation: use native HTML elements wherever possible. When custom widgets are necessary, they must implement the complete keyboard interaction pattern of the native counterpart, including type-ahead search for long lists.

Skip links at the beginning of each checkout step allow keyboard users to jump directly to the relevant form without having to traverse header and navigation again. For shops with extensive headers, this saves considerable time and reduces frustration. Accessible web development implements skip links as standard on every page.

Accessible Coupon and Discount Fields

Coupon input fields in checkout are an often overlooked area. The field needs a clear label, a button to redeem and feedback on whether the coupon is valid or invalid. The feedback must be accessible both visually and to screen readers. An aria-live region next to the field announces changes: Coupon successfully redeemed or Invalid coupon code.

When the coupon changes the order total, the updated sum must also be announced. A summary line showing the discount amount and new total gives the user confirmation that the coupon was correctly applied. The entire process must work without page reload and be comprehensible via screen reader.

Mobile Checkout and Touch Accessibility

Mobile checkout places additional accessibility requirements. Touch targets must be at least 24x24 CSS pixels per WCAG 2.2 (criterion 2.5.8). On mobile devices, where finger operation is less precise than mouse operation, a target size of 44x44 pixels or more is recommended. Buttons, checkboxes and radio buttons in checkout must meet these minimum sizes.

The input keyboard on mobile devices can be controlled via the inputmode attribute: inputmode="numeric" for ZIP code and phone number, inputmode="email" for email addresses, inputmode="tel" for phone numbers. This significantly facilitates input and reduces errors. Combined with the type attribute and autocomplete values, this creates a mobile checkout that minimizes input burden. According to a Baymard Institute study (2025), 18 percent (project experience) of mobile users abandon checkout because form fields are too small or difficult to use -- accessible touch targets and intelligent input methods directly address this problem.

Zoom must be fully supported in mobile checkout. The meta viewport directive user-scalable=no blocks zooming and violates WCAG 1.4.4. Form fields with a font size below 16 pixels trigger automatic zoom on iOS, disrupting the user experience. The solution: set all input fields to at least 16 pixel font size and leave the user in control of the zoom level.

This article is based on data from: Baymard Institute Checkout Usability Report (2024), WebAIM Million Report (2024), Click-Away Pound Survey (2024), WHO Global Report on Health Equity for Persons with Disabilities (2024), Aktion Mensch Inclusion Barometer (2024), W3C WCAG 2.2 Recommendation (2023).

Related Articles