AppBespoke · Glasgow, working US afternoons
Website accessibility audit and the fixes, not just a report
We test your site by keyboard and screen reader, fix what's broken in your own code, and re-test. $1,950, done in 2 weeks. No overlay widget.
- WCAG 2.2 AA
- Keyboard + NVDA tested
- Fixes included
- Re-test included
$1,950 fixed · 2 weeks · monitoring from $199 a month
Why now
The numbers, once, then the actual work
None of it means that buying something makes you safe. Nobody can sell you that. What you can have is a site somebody can actually use on a keyboard or a screen reader, which is what the complaints are about.
Ecommerce brands on Shopify, WooCommerce or Webflow
A theme, a dozen apps, and a checkout nobody has ever driven with a keyboard. The fixes land in your own theme and templates rather than in a script layered over them, so they survive the next app you install and they are yours to keep.
Someone who just got a demand letter or a complaint
You need this done in days, and you need evidence at the end of it. You get a prioritised report naming each issue against its WCAG reference, the fixes made in the code, and a re-test showing what changed. Send your URL and the scope comes back the next business day.
Agencies and marketing leads buying for a client
A procurement form asked, or the client did. The deliverable is the thing you hand over: the report, the fixes, a before and after summary, and a draft accessibility statement. A VPAT is an add-on when their form specifically asks for one.
This page isn’t legal advice, and nothing here makes anyone “ADA compliant”. Nobody decides that about a website. It is decided about an organisation, and what yours is obliged to do is a question for your counsel.
Included
What you get for $1,950
Four things. An audit gives you the report; this also fixes what the report finds. Nothing on the list is an add-on.
A prioritised issue report
Ordered by what blocks somebody.
Every issue found, ordered by what actually blocks somebody, each one with a screenshot, the WCAG 2.2 success criterion it fails, and what has to change. Written so a developer can act on it and a non-developer can follow it.
The fixes, in your code
Fixed in your code.
The fixes made in your own code: theme, CSS, JavaScript, templates. Everything in the report is fixed within 3 days of work included in the price. Anything larger is named in the report with a quote, never billed by surprise.
A re-test and a before/after summary
Tested again, after the fixes.
The whole test run again after the fixes, and a before and after summary saying what was failing, what now passes, and what is deliberately still open. That summary is what you send to whoever asked.
A draft accessibility statement
A statement that says what was tested.
A draft accessibility statement for your site: what was tested, when, against what, and how somebody reports a problem. Yours to publish, edit or ignore. It is a statement of fact, not a certificate.
Up to 12 page types, named
A template is audited once and the fixes apply everywhere it renders, so a thousand products are one page type rather than a thousand pages. These are the 12 covered at the fixed price.
More templates than this, or several sites, are quoted before any work starts. Never billed by surprise.
- Home
- Collection or category
- Product or detail
- Cart
- Checkout entry
- Account
- Search
- Blog index
- Blog post
- Contact
- Forms
- One custom template
How the site actually gets tested
Automated tools find roughly a third of what is wrong with a site. The other two thirds are judgements about whether a person can finish what they came to do, and those need a person.
- 01automated
Automated scan
axe-core and Lighthouse across every template in scope. This is the part a tool does well, it runs first, and it is where roughly a third of the issues turn up.
- 02manual
Full keyboard-only pass
Every template driven start to finish on the keyboard alone. Tab, shift-tab, enter, escape, arrow keys. Menus, modals, carousels and cart drawers are where this usually breaks, and no scanner finds a keyboard trap.
- 03manual
NVDA screen-reader pass
A person listening to each template with NVDA: what is announced, in what order, and whether anything is silent or read twice. Buttons that are really divs, images with no name, and live regions nobody announces all show up here.
- 04manual
Zoom to 200% and reflow
The page at 200% zoom and at 320 CSS pixels wide, checking nothing is cut off, overlapped or scrolled in two directions at once. Sticky headers and cookie bars are the usual casualties.
- 05manual
Contrast, measured
Text and interface contrast measured with the ratio reported back, not eyeballed. Where a brand colour fails, it is flagged with the nearest passing value rather than changed quietly, because your palette is your decision.
- 06manual
Focus order and form errors
The order focus actually moves in, whether the focus ring is visible on every control, and whether form errors are tied to their fields and announced rather than just turning something red.
The part a scanner cannot do
A scanner reads the markup. No line of that markup is wrong when focus disappears into a cart drawer and never comes back, so no scanner reports it. You find it by driving the site.
Every template in scope is driven this way, then listened to with NVDA, before a single fix is written.
Watch
One drawer, before and after.
A scanner finds about a third of what is wrong. The rest turns up when somebody drives the cart drawer on a keyboard and listens to it with NVDA. Each issue goes in the report, gets fixed in the theme, and is tested again. It runs silently, so click it for sound.
Scan, keyboard, screen readerfixed in your code, then tested again
Compared
Overlays, scanners, agencies, and this
Four options, with what each one costs and what it changes. An agency does the same work as this.
| Option | What it costs | What it does |
|---|---|---|
| An overlay widget | $49-200 a month, forever | An overlay sits on top of your code and leaves the code as it was. Screen-reader users and testers hit the same problems underneath it. In April 2025 the FTC finalised a $1m order against accessiBe over claims its widget made sites WCAG compliant.FTC final order, April 2025 |
| Automated SaaS remediation | About $599 a month, or $7,188 a year | Scanners are genuinely good at what they catch, which is roughly a third of the issues. Keyboard traps, focus order, reading order and form error handling are judgements about whether a person can finish a task, and no scanner makes them. |
| An accessibility agency | $3,000 to $10,000 and up | Often the same standard and the same manual testing. Here the scope and the price are published, it covers one site, and it takes two weeks. |
| Doing nothing | Nothing, until it does | A real option, and sometimes the right one. The numbers above are the legal risk. The other cost is that people using a keyboard or a screen reader cannot buy from you today, lawsuit or no lawsuit. |
| This page | $1,950 once, then optional monitoring | The same manual testing an agency does, scoped to one site and published at a fixed price, with the fixes made in your code and a re-test. It is not a certificate and it is not protection from being sued, because neither of those is a thing anyone can sell you. |
The deliverable
What the report looks like
Every entry carries the same four things: how badly it blocks somebody, the success criterion it fails, what was found in plain English, and what was changed in the code. Here are three of the kind that turn up on almost every site.
Focus is invisible in the cart drawer
- What was found
- Tabbing into the cart drawer moves focus, but nothing changes on screen, so a keyboard user has no idea where they are.
- What was changed
- Focus ring restored on every interactive element in the drawer, in the theme stylesheet rather than reset away globally.
Product links announce as "link"
- What was found
- Product tiles announce as "link" and nothing else, because the image carries no alt text and there is no other text in the link.
- What was changed
- Product images take their alt from the product title; the decorative badges are marked as decorative so they are not read out at all.
Checkout errors are colour only
- What was found
- A failed checkout field turns red and adds a message below it, but the message is not tied to the field, so a screen reader never reads it.
- What was changed
- Each message tied to its field with aria-describedby, the field marked invalid, and focus moved to the first error on submit.
These are examples of the format rather than a real client’s report. The one you get is your site, your templates, and a screenshot against each entry.
Pricing
Pricing, published
One fixed price for the audit and the fixes. Two optional extras, and the list of what would change the number.
Audit and fixes
$1,950
fixed, 2 weeks from access being granted
- Up to 12 page types, audited against WCAG 2.2 AA
- Automated scan, plus keyboard and NVDA passes by a person
- Fixes in your own code, up to 3 days of work
- Re-test, before and after summary, draft accessibility statement
VPAT / ACR add-on
$450
one-off, when somebody’s procurement asks for one
An Accessibility Conformance Report, written against the audit, in the format a customer’s procurement team is asking you to fill in. The going rate elsewhere is $350 to $950.
It states what was tested and what conformed. It is not a certificate, and nobody issues those.
Optional
Monitoring
Most fixed sites break again at the next theme update
$199a month
- A re-scan every month, and after any theme or app change you flag.
- Regression fixes up to 1 hour a month, included.
- The date on your accessibility statement kept current.
- Cancel any time, in one email. No notice period and no minimum.
What is not in the $1,950
Anything here is quoted before it is done. This is the full list of what would change the price.
Invoiced in USD, half to start and half on delivery, card or bank transfer.
- More than 12 page types, or a second site. Quoted first, never assumed.
- Work beyond the 3 included days. Named in the report with a price, and your call.
- A rebuild. If a component has to be replaced rather than fixed, the report says so.
- Documents, native apps, and anything still in design rather than built.
If a fix breaks something, it is corrected free
From LinkedIn
What people say after working with us.
He helped us re-platform our entire website, porting it to a new CMS along with a complete redesign, in an incredibly short time scale: 12 weeks start to finish.
VP Engineering at Stream
Managed the work directly
“He just got his sleeves up and figured things out to create excellent, high-value software with processes and documentation to match.”
Chief Data and AI Officer at Waracle
Managed the work directly“An exceptional ability to grasp complex concepts and domains quickly and start contributing immediately.”
Senior Engineering Manager at Zoa
Managed the work directly“Without a doubt, an engineer anyone could fully rely on.”
Engineering Manager at Comma
Worked on the same team“As committed to the quality of our codebase and infrastructure as any permanent engineer I have worked with.”
Software Engineer at Weavr
Managed the work directly“Gets things done. I always felt I could rely on him to push forward with a project under his own steam.”
Development Lead at Geo.me Solutions
Worked on the same team
Process
How it works
Step 01
Send your URL
The form takes a URL, your platform and roughly how many page types you have. No call, no discovery session, nothing to install. If the site is behind a login or on staging, say so and send credentials separately.
Step 02
Scope confirmed in 1 business day
Back within one business day: which templates are in scope, what the price is, and the start date. If your site is larger than 12 page types, that is quoted here rather than discovered halfway through.
Step 03
Audit and fixes in two weeks
The audit and the fixes, 2 weeks from access being granted. What is needed from you is a staging site or theme access, or a developer on your side named as the person to hand patches to.
Step 04
Re-test, report and statement
Everything tested again, and back comes the report, the before and after summary and the draft accessibility statement. If a fix broke something on the site, that is corrected at no charge.
What is needed from your side
Access is the one thing that delays this work, so it is worth sorting before the start date rather than on day three. Nothing here has to be ready to send the form.
- A staging site, or theme and template access on the live one
- Or a developer on your side named as the person patches go to
- Logins for anything behind a sign-in that is in scope
Fit
Who this is for, and who it isn’t
A good fit
- Shopify, WooCommerce and WordPress, Webflow, Squarespace
- Custom React and Next.js front ends
- A site that is built and live, or on staging and close to it
- One site at a time, up to 12 distinct page types
Not this
- A site still in design. Fix it in the design and it costs a fraction of this
- Legal advice, or an opinion on what you are obliged to do
- A certificate, a badge, or a guarantee against being sued
- Native iOS and Android apps, which are different work
Documents are the common one. If what you actually have is a pile of untagged PDFs, that is priced per page on the PDF remediation page rather than here.
FAQ
The questions that decide this one
Is this legal advice?
Will this stop a lawsuit?
Do you use an overlay?
What if we already have a widget?
Who does the work?
Do you have an accessibility certification?
What about our PDFs?
Can you re-test after we change the theme?
Are you insured?
A scope and a start date within 1 business day
No call, no discovery session, and no demo. The price is already on this page.