WordPress and WooCommerce accessibility Accessibility fixes, in your theme code

We fix the issues in a child theme or a small custom plugin on your staging site, so theme and plugin updates don’t overwrite them. Then we hand you a verified before/after report for every issue.

Not ready for fixes? An Accessibility Review on its own is $450 to $1,500, and the full fee is credited toward Review + Fix if you book within 30 days.

your-child-theme / WordPress + WooCommerce
  • header.php skip linklandmarks
  • footer.php landmarksheadings
  • searchform.php search label
  • functions.php WooCommerce hooksnotices
  • style.css focus styles
  • js/
    • navigation.js menu keyboard
  • woocommerce/
    • cart/
      • cart.php classic cart
    • checkout/
      • form-checkout.php classic checkout
    • single-product/add-to-cart/
      • variable.php variation dropdowns
    • global/
      • quantity-input.php quantity input
Where common fixes live in a WordPress child theme, with WooCommerce template overrides. Every issue we report names the file that causes it.

What we fix most on WordPress

The same components fail on WordPress as on Shopify, plus page-builder output. Here’s where each one lives in a WordPress site, and how it usually fails.
Common WordPress and WooCommerce components, how they fail, the WCAG criteria and where the code lives
ComponentHow it usually failsWCAG 2.2 SCWhere it lives
Cart drawer and mini-cartOpens without moving focus; Tab escapes behind it; nothing announces the add2.1.1, 2.4.3, 4.1.2, 4.1.3Theme JS, woocommerce/cart/mini-cart.php
Variation selectors and swatches<div>s with no role, name, state or tab stop2.1.1, 4.1.2, 1.4.1woocommerce/single-product/add-to-cart/variable.php, or a swatches plugin
Header and menusSubmenus open on hover only; no expanded state, no Escape2.1.1, 1.4.13header.php, theme JS, or the Navigation block
Pop-ups and newsletterFocus not moved into the pop-up; no Escape; not announced as a dialog2.1.1, 2.4.3, 4.1.2Pop-up plugin or theme template
Product cardsQuick-add buttons with no name; focus invisible4.1.2, 2.4.7woocommerce/content-product.php
FormsPlaceholder-only labels; errors not tied to fields or not announced3.3.2, 3.3.1, 4.1.3Form plugin settings or form template
Page-builder outputHeadings, buttons, tabs and accordions: headings chosen by size, controls with no name or state1.3.1, 4.1.2Page-builder settings and page content
Color tokensMuted text and sale badges under 4.5:11.4.3style.css, theme.json, theme settings

A fix is a change to code, not a script on top

This is the actual change for issue KC-009 on our demo store: three clickable <div>s became a native radio group. Keyboard, screen readers and the visual checked state all come from the markup, so nothing has to run on top of the page.

See all 30 fixes in the case study

product.html → snippets/product-variant-picker.liquidDemo store, fictional
 <div class="swatches">- <div class="swatch selected" data-color="Forest" style="background:#2f4a3a"></div>- <div class="swatch" data-color="Slate" style="background:#4a5563"></div>- <div class="swatch" data-color="Ember" style="background:#b4532a"></div>+ <input type="radio" class="swatch-input visually-hidden" name="color" id="color-forest" value="Forest" checked>+ <label for="color-forest" class="swatch" style="background:#2f4a3a"><span class="visually-hidden">Forest</span></label>+ <input type="radio" class="swatch-input visually-hidden" name="color" id="color-slate" value="Slate">+ <label for="color-slate" class="swatch" style="background:#4a5563"><span class="visually-hidden">Slate</span></label>
Verified: Tab reaches the group and Arrow Right selects Slate. The virtual screen reader reads “radio, Forest, checked, position 1, set size 3”.

How access works

Your live site isn’t edited, and we never ask for a password.
  1. Who: You

    Add a named user for us on staging

    Only the access the job needs. Never a shared admin login.

  2. Who: We

    Work in a child theme

    Your existing child theme, or a new one on staging, so updates don’t overwrite the fixes.

  3. Who: We

    Fix and verify on staging

    Before/after scans, then keyboard, VoiceOver, NVDA and zoom.

  4. Who: You

    Preview it and read the report

    You pay the balance only after you’ve seen the fixes.

  5. Who: You

    Deploy

    You or your developer push staging to live, or we do on your written go-ahead.

Plugins, cart and checkout

Not everything on a WordPress site is theme code. Every issue we report says which side of the line it’s on.
  • We fix it

    Your theme

    Child-theme templates, WooCommerce template overrides, hooks, CSS and small scripts: menus, product pages, cart and checkout templates, pop-ups you control, forms and color tokens.

  • Flagged with options

    Plugins

    Issues inside a plugin’s own code, including WooCommerce’s Cart and Checkout blocks, are flagged with options:

    • change a setting
    • swap the plugin
    • file a ticket with the developer, with the details they need
  • Quoted individually

    Page builders

    Sites built mainly with Elementor, Divi or another page builder are quoted individually.

WooCommerce cart and checkout templates are theme code, so they can be in scope. Sites built mainly with page builders such as Elementor or Divi are quoted individually.

Review + Fix packages

Fixed prices. If you already have an audit from someone else, we start from it, at the same price.
  • Starter

    Price: $1,750

    Quick Review (3 templates) plus up to 5 fixes

    • Quick Review
    • Up to 5 fixes on staging
    • Verified before/after report
    • 60-day fix window

    Fixes delivered 5 business days after you approve the fix plan

    Book Starter, Review + Fix
  • Essentials

    Our recommendation for a typical small store

    Price: $4,250

    Essentials Review (6 templates) plus up to 15 fixes

    • Essentials Review
    • Up to 15 fixes on staging
    • Verified before/after report with keyboard and screen reader recordings of key tasks
    • 60-day fix window

    Fixes delivered 10 business days after you approve the fix plan

    Book Essentials, Review + Fix
  • Standard

    Price: $7,750

    Standard Review (12 templates) plus up to 30 fixes

    • Standard Review
    • Up to 30 fixes on staging
    • Verified before/after report with recordings
    • 60-day fix window

    Fixes delivered 15 business days after you approve the fix plan

    Book Standard, Review + Fix

Agencies: white-label at 20% below these prices (details). Auditors: you audit, we fix, your team retests, pay on pass (details).

How you can hold us to it

  • A verified report

    For every issue ID: the file we changed, automated before/after results at desktop and mobile widths, and the manual keyboard and screen reader result.

  • Pay the balance after you’ve seen it

    The last payment is due only after you’ve checked the fixes on staging.

  • A 60-day fix window

    If anything we fixed stops working within 60 days, we fix it again at no charge.

  • A refund if a fix can’t pass

    If an agreed fix doesn’t pass its agreed check and we can’t fix it within 10 business days, we refund that fix’s share of the price.

Questions store owners ask

Could this break my store?

We work only on a duplicate theme or a staging site, and your live store isn’t touched. Before handoff we check that add to cart, the cart, checkout entry, search and forms still work, and you review everything on staging before anything is published.

Do you use an overlay or accessibility widget?

No. We change your theme or template code. Overlays add a script on top and don’t fix the code that causes the problems.

What do you need from us?

Your store’s address and a collaborator request approval (Shopify) or a staging login (WordPress). We never ask for passwords. For Review + Fix, we also need 20 minutes to walk through the fix plan with you.

Can you fix WooCommerce cart and checkout?

WooCommerce cart and checkout templates are theme code, so they can be in scope. Sites built mainly with page builders such as Elementor or Divi are quoted individually.

Do you promise legal compliance?

We fix the agreed issues to WCAG 2.2 AA and prove it with a before/after report. We don’t promise compliance with the ADA or any law, or any outcome of a demand letter or lawsuit, and this isn’t legal advice.

Book Review + Fix

Fixed price, fixes in a child theme on staging, verified report, 60-day fix window.