The guide

Five things nearly every agency site gets wrong.

In August 2026 we scored twenty Ontario professional-services websites against WCAG 2.1 AA and the AODA. These five problems came up more than any others. Each one is fixable, and none of them needs a redesign.

High impact

Number 1 · found on 11 of the 20 sites

A link has no readable text

A link on the page has nothing a screen reader can read out, so it is announced only as "link" with no destination. This usually happens with icon-only links or links wrapped around an image with no alt text.

Who this affects: People who use screen readers, who hear the page instead of seeing it.

WCAG 2.4.4 & 4.1.2 (Level A) · 103 separate elements across the sites we scored

Before

<a href="/contact"><i class="icon-mail"></i></a>

After

<a href="/contact" aria-label="Contact us"><i class="icon-mail" aria-hidden="true"></i></a>

The fix: Give every link a readable name. Best: add visible text inside the link. If it must stay icon-only, add an aria-label that says where it goes, and mark the icon itself aria-hidden="true". If the link wraps an image, give the image a meaningful alt attribute instead.

Lower impact

Number 2 · found on 11 of the 20 sites

Headings skip levels

Heading levels are not in order (for example a page jumps from a Heading 2 straight to a Heading 4). Screen reader users navigate by headings, so gaps make the structure confusing.

Who this affects: Screen reader users who jump heading-to-heading to scan a page.

WCAG 1.3.1 (Level A) · 19 separate elements across the sites we scored

Before

<h2>Our Services</h2>
  <h4>Family Law</h4>

After

<h2>Our Services</h2>
  <h3>Family Law</h3>

The fix: Use headings in order (h1, then h2, then h3...) to reflect structure, not size. Control the appearance with CSS instead of skipping levels.

Medium impact

Number 3 · found on 10 of the 20 sites

Text is too faint to read

Some text does not stand out enough from its background (contrast below 4.5:1), so it is hard to read.

Who this affects: People with low vision or colour deficiency, and anyone in bright sunlight.

WCAG 1.4.3 (Level AA) · 103 separate elements across the sites we scored

Before

color: #9aa0a6;  /* grey on white ~2.8:1 */

After

color: #5f6368;  /* darker grey ~5.9:1, passes */

The fix: Darken the text (or lighten the background) until normal text reaches at least 4.5:1, and large/bold text at least 3:1. Use a contrast checker to confirm.

Medium impact

Number 4 · found on 9 of the 20 sites

Tap targets are too small or too close

Some buttons or links are smaller than 24x24 pixels, or so close together that they are easy to mis-tap.

Who this affects: People on touch screens, and people with limited fine motor control or tremors.

WCAG 2.5.8 (Level AA) · 44 separate elements across the sites we scored

Before

.icon-btn { width: 16px; height: 16px; }

After

.icon-btn { min-width: 24px; min-height: 24px; padding: 8px; }

The fix: Give interactive targets at least 24x24 CSS pixels (44x44 is more comfortable), using padding and spacing so neighbouring targets do not crowd each other.

Medium impact

Number 5 · found on 8 of the 20 sites

A control says one thing and announces another

A button or link shows one label on screen but carries a different name in code. Someone using voice control says what they can see, and nothing happens, because the name the software is listening for is not the name on the button.

Who this affects: People who operate a site by voice, who say aloud what they can see. Also screen reader users, who hear a name that does not match what sighted colleagues are describing to them.

WCAG 2.5.3 (Level A) · 41 separate elements across the sites we scored

Before

<a href="/audit" aria-label="Learn more">Book an audit</a>

After

<a href="/audit">Book an audit</a>

The fix: Usually the fix is to delete the aria-label - if a control already has clear visible text, it does not need one. If you must keep it, make it start with the visible text exactly ("Book an audit - opens a form"). Never write an aria-label that replaces the visible words with different ones.

What this guide is not

Fixing these five will not make a site compliant. They are the most common failures, not the complete set — the sites we scored averaged well beyond five problems each. Automated checks also only catch part of what matters; things like whether alt text is actually useful need a person.

If you want the full picture for your own site, that is what a KindlyDone audit is. You can see three real examples of what one looks like.

Found this useful?

We would rather you fixed these yourself than paid us. If you want the rest, we are here.

Talk to us