MP Audits
Request an audit

Independent technical verification

An overlay is a widget.
A claim is about the code underneath.

MP Audits performs independent technical code integrity and ADA/WCAG verification for high-volume Shopify brands. We measure the storefront a shopper actually receives — after every accessibility widget on the page has loaded and finished executing — and report what survived, with the evidence attached.

§01

What a widget cannot reach

Overlay vendors are not the problem. The problem is where the defects live. An overlay is JavaScript that runs after your theme has already rendered, and it can only change what it can reach in the DOM. These three classes of defect — the three most commonly pleaded — are compiled into the theme and are still there on the next page load.

Compiled color values

The hex codes that fail contrast are in your theme stylesheet. A widget can offer a viewer a high-contrast mode; it cannot change what the page ships to everyone else.

#CC5500 on #EDEAE0 → 3.58:1

Hit-area geometry

A review link 16.7px tall is 16.7px tall after the widget loads. Target size is a layout property, and layout is theme code.

40.2 × 16.7px → 24 × 24px required

Controls with no name

A remove-from-cart link with no text and no aria-label announces as a bare link. Overlays guess at these, and a guess is not a name.

SC 4.1.2, cited in most demand letters

§02

How verification works

One scan, run in a real browser, in this order. Each step feeds the next, which is why the sequence is fixed: the cart cannot be probed until it holds an item, and the measurement is worthless until the overlay has finished running.

Where no cart drawer can be confirmed, the report says so. That is not the same as a drawer that passes, and we never let it read as one.

  1. 01

    Platform fingerprint

    Shopify confirmation, shop handle, live theme name and id — so the patch is cut against the theme you are actually running.

  2. 02

    Overlay detection

    accessiBe, UserWay, AudioEye, EqualWeb, User1st, Accessiway, MaxAccess and Recite Me, identified by JS global, asset host and DOM signature.

  3. 03

    Standards pass

    axe-core against WCAG 2.0 A/AA, 2.1 A/AA and 2.2 AA, with every rule mapped to a citable Success Criterion.

  4. 04

    Transaction path

    We seed one item through the cart API, reopen the cart, and empty it again. An empty basket suppresses the drawer on most themes — which is how the highest-weighted defect goes untested everywhere else.

  5. 05

    Drawer verification

    The drawer panel is identified by five gates, never by class name alone, then tested for focus landing, containment, Escape, and focus restoration. Rejected candidates are recorded with the reason.

  6. 06

    Colorimetry and geometry

    Element screenshots for every contrast and target-size failure, with the measured values and a remediated hex computed against the same background.

  7. 07

    Weighted risk model

    Seven factors scored 0–100 by how often each appears in ADA Title III filings against e-commerce defendants.

§03

What you receive

  • A weighted exposure score with every point traced to a node
  • The overlay reality check for whatever widget you are running
  • Screenshot evidence of each failing element as it rendered
  • Colorimetric breakdowns with minimum and recommended hex values
  • Hit-area geometry drawn at actual size against the 24px minimum
  • The full defect ledger: rule, criterion, selector, markup, reason
  • Method, toolchain versions, and an explicit statement of limits

On the record

Every report carries a document reference, a UTC timestamp, the exact toolchain versions used, and a written statement of what automated testing does not cover. It is written to be handed to counsel, a platform partner, or an engineer without translation.

Automated tooling surfaces roughly 30–40% of WCAG failures. We say that in the report, on every report, in the same size type as the score.

§04

Remediation, if you want it

The audit stands on its own — you can hand it to your own developer and never speak to us again. If you would rather we cut the patch, it is fixed-price, scoped to the findings, and priced per report.

Tier 1$299

Production-Ready Remediation Patch

Liquid diffs and an additive a11y-shield.css, cut against the exact theme this scan fingerprinted.

Delivered on checkout · You deploy it. Nothing changes on your storefront until you push.

Tier 2$599

White-Glove Deployment

We apply the patch to a duplicated theme, verify it, and hand you a preview link. Zero production risk.

2 business days from theme access · Zero production risk. The live theme is untouched for the whole engagement.

Both tiers are ordered from inside your report, where the scope is itemised.

§05

Request an audit

Send one storefront URL. You get the report back with the evidence attached.

No theme access, no app install, and nothing added to your storefront. The scan runs from outside, exactly as a plaintiff’s expert would run it. Seeding adds one item to our own session basket and removes it again; it never places an order.

audits@mpaudits.com

Include in your request

  • Storefront URL
  • Live theme name, if you know it
  • Any accessibility widget currently installed
  • Whether you have received a demand letter

The last question changes the turnaround, not the price.