Skip to main content

AODA compliance reports are dueReports due Dec 31, 2026

Get compliant
Get a free quote

Real code fixes. Hands-on testing. Serving all of Ontario.

Home / Case study

AODA compliance case study

232 accessibility issues to zero, in 17 days.

How we took a busy industrial e-commerce site from hundreds of WCAG failures to a clean sign-off, by fixing the code and testing every template by hand. Client details are kept private; the numbers, process and outcome are real.

Client
Canadian industrial supplier with several branches
Website
WordPress, Divi and WooCommerce with a large product catalogue
Goal
Back the website answer on the AODA compliance report due December 31, 2026
Standard
Tested to WCAG 2.1 AA, which includes every WCAG 2.0 AA requirement the AODA names
Timeline
First baseline scan October 26, sign-off November 12, 2026
  • 232 → 0automated issues on the most-visited category page (axe)
  • 20 → 0homepage errors, plus roughly 108 contrast errors to zero (WAVE)
  • 11templates and page types tested, from homepage to checkout
  • 0real issues remaining across every template at sign-off

The challenge

A big catalogue, a hard deadline, and no room for a patch.

The client sells thousands of industrial products online and needed to file its AODA compliance report by December 31, 2026. Someone with authority would have to confirm the website met the standard, and they wanted evidence behind that answer, not a vendor badge.

The first scans were sobering. The homepage had 20 WAVE errors and around 108 contrast failures. The category page, where most shoppers land, had 232 automated issues, 55 of them rated critical and 144 serious. Menus, product galleries, sale prices and checkout fields were all affected.

Rebuilding the site wasn't an option, and an overlay wouldn't have changed a line of the code underneath. The fixes had to go into the site itself, without breaking anything customers relied on.

Results

Before and after, template by template.

Every template customers use, from the homepage to My Account, finished with zero real issues.

Accessibility issues found before and after the work, by template
TemplateBeforeAfterTool
Category page23255 critical, 144 serious0axe
Homepage contrast~1080WAVE
Homepage errors200WAVE
Checkout (logged in)130axe
Product page91 critical0axe
My Account (login, register, errors)30axe
Cart20axe
Checkout (guest)20axe
Contact20axe
Search results10axe
About, and My Account orders, addresses and details00axe
How to read these numbers

"Real issues" leaves out two kinds of automated flag: the WordPress admin toolbar, which only logged-in staff ever see, and a rotating banner that the scanner caught mid-fade. That banner's real colours pass comfortably.

The homepage baseline was taken before any changes. The cart, checkout, My Account and search "before" counts were taken after the shared header and footer had already been fixed, so they understate how those pages started. Contrast counts on the homepage varied a little between scans because rotating banners change what's on screen, so we've shown an approximate figure.

Automated scans used axe with WCAG 2.1 AA rules and best practices on, plus WAVE. Every template was also tested by hand, as described below.

What we fixed

Fixed in the site itself, where updates can't undo it.

Changes went into the theme settings, the page templates, page content and a handful of small, clearly labelled code snippets. No core plugin or theme files were edited, so routine updates won't overwrite the work.

Structure

Navigation and structure

  • A visible "Skip to main content" link and a proper main landmark
  • One H1 per page, and heading levels corrected site-wide
  • Menu items that pointed to "#" now go to real pages
  • Pinch-zoom switched back on for phones
Keyboard

Keyboard and focus

  • A clear focus outline on every link, button and field
  • Pagination rebuilt as real buttons that work with Tab and Enter
  • A hidden gallery link that trapped keyboard focus removed
  • A play and pause control added to the autoplaying video
Screen readers

Names, labels and announcements

  • Alt text for logos, icons and product tiles; decorative images skipped
  • Names for icon-only buttons: search, slider arrows, social icons, gallery links
  • Labels for search, sort, quantity, newsletter and checkout fields
  • Login, cart and checkout errors announced correctly
Contrast

Colour and contrast

  • Sale badges and sale prices brought up to the 4.5 to 1 minimum
  • Form, placeholder, pagination and footer text fixed
  • Links in body text underlined, so they don't rely on colour
  • All within the client's existing brand colours

How we tested

Two tools, then a person, then again.

  1. Automated scans

    axe DevTools and WAVE on the live site, with server and CDN caches cleared first, re-run after every fix.

  2. Keyboard only

    Skip link, menus, search, pagination, add to cart, the full checkout including validation errors, login errors and the chat widget. No keyboard traps found.

  3. Screen reader

    VoiceOver on Safari for headings, landmarks, link names, form labels, product details and error announcements.

  4. Zoom, mobile and browsers

    200% zoom without sideways scrolling, pinch-zoom and checkout on phones, and Chrome, Safari and Firefox.

Being honest about limits

What we flagged instead of hiding.

Some parts of any real website belong to other vendors. A third-party search tool, a Google address lookup at checkout, a live chat bubble and reCAPTCHA all ship their own code. Where we could correct their output safely, we did, and we documented which fixes depend on those vendors keeping their markup the same.

Where a fix needed a business decision, like changing how address autofill behaves at checkout, we wrote it up and left the call with the client. A short "keeping it compliant" guide and a content checker for staff help keep the site where it is.

The client also opted to add a visitor preferences toolbar for text size and contrast. It's a convenience for visitors; none of the results above depend on it.

The outcome

Ready to file, with the evidence on hand.

The client received a written sign-off report covering every template, the before-and-after scan exports, a list of the third-party limits and a plan for keeping the site compliant. Everything they need to answer the website question on their compliance report, and to back it up if Ontario ever asks.

  • 17 daysFrom the first baseline scan to sign-off.
  • 11 templatesTested by tool and by hand, including the full checkout.
  • 0 real issuesRemaining across every template customers use.

Your turn

Want results like these on your site?

Send us your web address. We'll look at it and reply with one fixed price for the audit, the code-level fixes and the re-test.