Skip to content

An audit goes stale at your next release. I keep your site fixed.

I'm a software engineer of 20+ years and a certified Section 508 Trusted Tester. I test by hand, fix the problems in your code, and set up checks that catch new ones before each update goes live.

v2.3: Cart became an icon, and screen readers now say only “button”. The check caught it before it went live.

Try it on this page

Viewing as: Blind

No layout, no colour. Just what the screen reader says, one item at a time.

This is this page, read top to bottom. Headings and landmarks are how a blind visitor skims. If they are missing or wrong, the page is a wall of text.

What automated accessibility checkers miss

Correct on paper. Still blocks people.

✓ Every example below passes automated accessibility checkers

  • ✗ Focus ring exists. Nobody can see it.

  • ✗ Error shows. It doesn’t say how to fix it.

  • ✗ Dialog opens. The keyboard is stuck behind it.

  • ✗ Order placed. The screen reader says nothing.

See how to fix each one

About accessibility widgets

A widget alone is not a fix.

Overlay widget added

✗ The badge says WCAG AA. The button still has no name, until someone files a complaint.

Fixed in the code

✓ The button gets a real name in your code. Every screen reader reads it.

Low contrast is the easiest problem to find. A free checker spots it in seconds, yet it is still one of the most common failures on the web.

Already paying for a widget, scanner or AI auto-fix? See what it still misses

From scope to retest.

  1. 1

    Scope

    Agree on pages, interactions, methodology, and deliverables.

  2. 2

    Test

    Combine useful automated checks with manual evaluation.

  3. 3

    Report

    Document barriers, impact, and practical next steps.

  4. 4

    Fix

    I fix the code and keep your design, or support your developers while they do.

  5. 5

    Retest

    Check the agreed changes and record the results.

Watch your audit progress.

Your private client space shows who picked up your audit, by name, and how many checks are done so far. Once the date is confirmed, it shows when your report is expected. When testing finishes, you can see it's in its final quality check before it's shared.

Not sure yet? Ask for a short video call and talk it through with the person who will do the work.

Checkout and account pages

Picked up by (your tester's name)

18 of 32 checked (56%)
Expected ready by
Oct 17
Example of your client space while testing is underway. The checks count up as I record them.

View services What happens after you get in touch

Useful detail.
Clear next steps.

Review findings in a private client space. Your team can discuss changes and request agreed retesting alongside the original evidence.

Explore the deliverable

Fail Global issue

Keyboard access

4.A All tested pages · Main menu 2.1.1

The menu trigger is a clickable div. Tab skips it, so the navigation links cannot be reached with a keyboard.

Expected behavior
All functionality can be accessed and executed using only the keyboard.
The next action
Use a native button for the menu trigger. Keep its expanded state in sync with the menu and make sure the revealed links are reachable.
See the full report

A focused scope. A clear starting price.

Start with an important journey or a small set of templates. We agree on the work and total price before testing begins.

See pricing and scope
Testing starting prices (USD)
First unique page or templateStarting at $149
Additional unique page or templateStarting at $99
Repeated-template or light supporting pageStarting at $49

Enterprise: Contact us for custom pricing.

Scope depends on unique layouts, components, states, and workflows—not URL count alone. Complex and authenticated workflows receive a custom quote. Remediation and retesting are separate unless your quote includes them.

Tell me what needs testing.

Share your website, the journeys that matter most, and any deadline or access requirements.

Request testing