Accessibility problems on small business websites

8 checks in this group, each a count from our own scanner over 6,450 free four-page scans in the last 90 days. The most common is No skip-to-content link, on 87.2% of them.

FindingShare of scansScansSitesSeverity
No skip-to-content link87.2%5,6224,605Low
No main landmark63.8%4,1133,380Warning
Embedded frames have no title24.7%1,5961,333Low
Images missing alt text17.8%1,147950Warning
Form fields without labels17.8%1,146954Serious
Pinch-zoom is disabled11.8%760612Serious
Screen readers cannot tell the language10.8%699571Warning
No mobile viewport tag9.8%630509Critical

No skip-to-content link

87.2% of the free scans raised this: 5,622 scans across 4,605 distinct sites, 95% interval 86.3% to 88%. Severity: Low.

What it means

Without a skip link, a keyboard-only visitor has to tab through the entire navigation on every page.

How to fix it

Add a "Skip to content" link as the first focusable element, pointing at your <main> id. Keyboard users otherwise tab through the whole nav on every page.

How to check it yourself

Load the page and press Tab as soon as it loads. If focus jumps straight into the navigation rather than to a hidden skip link, none is present.

What fixed looks like

Pressing Tab on page load moves focus to a skip link that jumps straight to the main content.

No main landmark

63.8% of the free scans raised this: 4,113 scans across 3,380 distinct sites, 95% interval 62.3% to 65.2%. Severity: Warning.

What it means

A page without a main landmark gives a screen-reader visitor no way to jump straight to the content.

How to fix it

Wrap the primary content in a single <main> element. It is the target of the skip link and the first thing a screen-reader user jumps to.

How to check it yourself

Open DevTools, go to the Elements panel, and search the markup for a main element. If none exists, the page has no main landmark.

What fixed looks like

The page markup contains a single main element wrapping the primary content.

Embedded frames have no title

24.7% of the free scans raised this: 1,596 scans across 1,333 distinct sites, 95% interval 22.7% to 26.9%. Severity: Low.

What it means

An untitled iframe announces itself to a screen reader as nothing at all, so its purpose is invisible.

How to fix it

Add a title attribute to every iframe describing what it embeds, such as title="Customer reviews" or title="Location map".

How to check it yourself

View source and search for iframe tags. Any without a title attribute announce nothing to a screen reader.

What fixed looks like

View source shows a title attribute on every iframe describing what it embeds.

Images missing alt text

17.8% of the free scans raised this: 1,147 scans across 950 distinct sites, 95% interval 15.7% to 20.1%. Severity: Warning.

What it means

Alt text is how a screen reader describes an image: without it, the image is invisible to a visitor who cannot see it.

How to fix it

Give every meaningful image an alt attribute describing what it shows. Decorative images get alt="" so screen readers skip them rather than reading a filename.

How to check it yourself

View source and check img tags for an alt attribute. Missing ones make that image invisible to a screen reader.

What fixed looks like

View source shows an alt attribute describing every meaningful image, and alt="" on decorative ones.

Form fields without labels

17.8% of the free scans raised this: 1,146 scans across 954 distinct sites, 95% interval 15.7% to 20.1%. Severity: Serious.

What it means

A form field with no associated label is unusable with a screen reader, and unclear for everyone else.

How to fix it

Give every form input a <label for="..."> tied to its id. A placeholder is not a label: it disappears as soon as someone types.

How to check it yourself

View source and check each form input for a matching label for attribute. A placeholder alone does not count as a label.

What fixed looks like

View source shows every form input tied to a label for its id, not just a placeholder.

Pinch-zoom is disabled

11.8% of the free scans raised this: 760 scans across 612 distinct sites, 95% interval 9.7% to 14.3%. Severity: Serious.

What it means

Blocking pinch-to-zoom removes a control low-vision visitors rely on to read a page at all.

How to fix it

Remove user-scalable=no and maximum-scale from the viewport meta tag. Blocking zoom fails WCAG and makes the page unusable for anyone who needs larger text.

How to check it yourself

Load the page on a phone or a narrow browser window and try to pinch-zoom in. If nothing happens, zoom is blocked.

What fixed looks like

Pinching to zoom in on the page enlarges the text as expected.

Screen readers cannot tell the language

10.8% of the free scans raised this: 699 scans across 571 distinct sites, 95% interval 8.7% to 13.4%. Severity: Warning.

What it means

Without a declared language, a screen reader may pronounce the page in the wrong language entirely.

How to fix it

Add a lang attribute to the html element with the page's actual language code, so a screen reader picks the right pronunciation.

How to check it yourself

View source and search for lang= on the opening html tag. If it is absent, a screen reader has no declared language to go on.

What fixed looks like

View source shows a lang attribute on the html tag matching the page's actual language.

No mobile viewport tag

9.8% of the free scans raised this: 630 scans across 509 distinct sites, 95% interval 7.7% to 12.3%. Severity: Critical.

What it means

Without a viewport tag, mobile browsers render the page at desktop width and scale it down, making everything harder to read and tap.

How to fix it

Add <meta name="viewport" content="width=device-width,initial-scale=1"> so the page lays out for the device rather than being scaled down.

How to check it yourself

View source and search the head for meta name="viewport". Its absence means mobile browsers render the page at desktop width.

What fixed looks like

Loading the page on a phone shows it laid out for the device, not scaled down from desktop width.

How we measured this

A count of what our own scanner found, not a survey and not an estimate: each share above is over every free four-page scan in the last 90 days that loaded at least one page, which is 6,450 scans. Of those, 6,316 were run by Go Voltic itself, our research sweep over a pool of small-business sites and our own monitoring, and 132 came from visitors using the free scan; a site counts once in the distinct-sites figure whoever scanned it. 2 predate the label that tells the two apart and are counted in the total without a side. Deep scans are a separate population and never in this denominator. Figures on this page were computed on 2026-10-15.

The methodology explains the denominator, the distinct-sites count and the 95% interval. The benchmarks page puts these shares beside every other finding, with the whole table as CSV and JSON.

Other groups of findings

Measured on the same scans: Structure, AI and answer engines, Trust and privacy, Speed.

Check your own site

The free scan reads four pages and reports every finding it raises, including every one on this page. It takes about ten seconds and asks for nothing but the address.

Run a free scan