This is a sample reportScan your own site

← New scan

Scan report

Accessibility report

example.com · 19/10/2026, 09:00:27

82
/100 · Grade: B
2 critical 2 serious 2 moderate 1 minor
23 elements affected · 7 issue types · 12 checks passed
Legal risk

EU — legal risk based on your score

This scan found 2 critical and 2 serious issues. Businesses that don't meet WCAG 2.1 AA can face:

Penalties vary by country: Each member state sets its own penalty regime under its national transposition law. As examples: Germany's BFSG allows fines up to €100,000; Italy's D.Lgs. 82/2022 sets fines from €5,000 to €40,000 (up to 5% of turnover for repeat offenses). Check the guide for the specific country your business operates in or sells into.

A high score lowers your exposure — it isn't a compliance guarantee. This is not legal advice.

EU guide →
Issues

Issues found (7)

Images without alternative text Critical

WCAG 1.1.1 (A) 5 elements · How to fix: Add meaningful alt text to every <img>; use alt="" for decorative images.
Example: <img src="/hero.jpg">
How to fix — code example

Why it matters: Screen reader users otherwise hear nothing (or a meaningless filename) where the image conveys information.

Bad:

<img src="/hero.jpg">

Good:

<img src="/hero.jpg" alt="Team celebrating the product launch">

Learn more on w3.org — WCAG 1.1.1 ↗

Insufficient color contrast Critical

WCAG 1.4.3 (AA) 3 elements · How to fix: Increase the contrast between text color and background color to at least 4.5:1 (3:1 for large text, ≥18pt or ≥14pt bold).
Example: <p style="color:#999999;background-color:#ffffff">…</p>
How to fix — code example

Why it matters: Low-vision and colorblind users can't read text that doesn't stand out clearly from its background.

Bad:

<p style="color:#999999;background-color:#ffffff">Body text</p>

Good:

<p style="color:#595959;background-color:#ffffff">Body text</p> <!-- ratio ≥ 4.5:1 -->

Learn more on w3.org — WCAG 1.4.3 ↗

Form fields without a label Serious

WCAG 1.3.1 (A) 4 elements · How to fix: Associate every field with a <label for>, aria-label, or aria-labelledby.
Example: <input type="email" name="email">
How to fix — code example

Why it matters: Screen reader users can't tell what a field is for, and clicking the label won't move focus to the field.

Bad:

<input type="email" name="email">

Good:

<label for="email">Email</label>
<input id="email" type="email" name="email">

Learn more on w3.org — WCAG 1.3.1 ↗

Links without text Serious

WCAG 2.4.4 (A) 2 elements · How to fix: Give the link visible text or an aria-label.
Example: <a href="/cart"><svg></svg></a>
How to fix — code example

Why it matters: Screen reader users hear just "link" with no destination, so they can't decide whether to follow it.

Bad:

<a href="/cart"><svg></svg></a>

Good:

<a href="/cart"><svg aria-hidden="true">…</svg><span class="sr-only">View cart</span></a>

Learn more on w3.org — WCAG 2.4.4 ↗

Generic/non-descriptive link text Moderate

WCAG 2.4.4 (A) 6 elements · How to fix: Replace the link text with a description of the destination, avoiding generic phrases like "click here" or "read more".
Example: <a href="/blog/post-3">read more</a>
How to fix — code example

Why it matters: "Click here" or "read more" tells screen reader users nothing when links are listed out of context.

Bad:

<a href="/blog/post-3">read more</a>

Good:

<a href="/blog/post-3">Read more: 5 tips for faster page loads</a>

Learn more on w3.org — WCAG 2.4.4 ↗

Duplicate id values Moderate

WCAG 4.1.1 (A) 2 elements · How to fix: Every id must be unique on the page.
Example: id="footer"
How to fix — code example

Why it matters: Duplicate ids break label associations and ARIA references, so assistive tech reads the wrong element.

Bad:

<div id="footer">…</div>
<section id="footer">…</section>

Good:

<div id="footer">…</div>
<section id="footer-nav">…</section>

Learn more on w3.org — WCAG 4.1.1 ↗

iframe without title Minor

WCAG 4.1.2 (A) 1 elements · How to fix: Add a title describing the content to every <iframe>.
Example: <iframe src="https://maps.example.com"></iframe>
How to fix — code example

Why it matters: Screen reader users can't tell what embedded content (a map, video, or widget) is without a title.

Bad:

<iframe src="https://maps.example.com"></iframe>

Good:

<iframe src="https://maps.example.com" title="Store location map"></iframe>

Learn more on w3.org — WCAG 4.1.2 ↗

Scope

Not automatically measurable (requires an in-depth audit)

  • Color contrast for CSS-class-based styles (1.4.3) — only inline-style contrast is detected automatically.
  • Keyboard traps and focus visibility (2.1.2 / 2.4.7) — require real interaction.
  • Dynamic ARIA states (4.1.3) — require JS rendering.

Don't lose this result

This is a one-time scan — the score may change after the next update. Save it with a free account and re-scan anytime.

Save & monitor this site free →

Continuous monitoring + accessibility statement

With Pro: continuous monitoring (weekly/daily re-scans depending on plan), regression alerts, an accessibility statement draft, and a multi-site dashboard.

Discover Pro →
EAA statement

Accessibility statement draft

ACCESSIBILITY STATEMENT (DRAFT) — example.com

This website aims for conformance with the European Accessibility Act (EAA), WCAG 2.1 AA, and EN 301 549.

Partially compliant — the automated scan found 7 types of barriers.
Last automated assessment: 19/10/2026

Assessment method: NormHarbor automated static audit (WCAG 2.1 AA / EN 301 549). Some criteria — such as color contrast and keyboard interaction — require a manual/in-depth audit.

Feedback mechanism: to report an accessibility barrier, write to [your contact email].

Note: this is an automatically generated draft; it does not replace a manual audit and should be verified before publication.