Which rules apply to your website, and what an automated scan can actually check
A country-by-country map of what Veracly monitors, what the automated scan detects, and the 29 WCAG criteria no automated tool can verify. Including the parts we cannot check.
Two questions come up before anyone reads a compliance report: which rules actually apply to me, and how much of this can a scanner really tell me?
This page answers both, honestly, including the parts where the answer is that we cannot help. Pick a market below.
Scope follows your visitors, not your company address. A German company selling into France is in scope for both.
What applies in Germany
- European Accessibility Act
- GDPR & ePrivacy
What the automated scan checks for Germany
64 automated rules from axe-core, plus 5 checks we wrote ourselves for failures axe does not cover:
- 1.2.2 — Video with a controls bar but no captions track
- 1.3.4 — CSS that locks the page to one screen orientation
- 1.4.2 — Media that autoplays with sound and no way to pause it
- 2.2.1 — A timed <meta refresh> that reloads the page
- 3.3.2 — A form field labelled only by placeholder text
- Trackers firing before consentA request to a known tracking endpoint made before any consent gesture. We match the receiving host, and we separate a data-firing hit from a loader script that may never send anything.
- Cookies set before consentNon-essential cookies present before any banner interaction. Cookies we judge strictly necessary are listed separately so you can challenge the classification.
- Web Storage / IndexedDB writes before consentlocalStorage, sessionStorage and IndexedDB entries written before consent — the route modern analytics SDKs use instead of cookies.
- No consent banner at allNo cookie-banner DOM found on first load, on a page that also set non-essential cookies or fired a tracker.
- No reject optionA banner whose enumerable controls include no reject path.
- Reject harder to find than acceptA reject control materially less prominent than accept, measured by visual weight.
- Pre-ticked consent boxesNon-essential category toggles already checked on first render, which CJEU Planet49 holds cannot be consent.
- Google Fonts loaded from GoogleA request to fonts.googleapis.com or fonts.gstatic.com rather than self-hosting.
- reCAPTCHA loaded site-wideA reCAPTCHA request on pages with no form to protect.
- Trackers absent from your privacy policyA vendor observed on the site whose name we could not find in the privacy policy text. We read the policy; the limit is name matching, not reading.
- Privacy policy present and reachableA linked, reachable privacy policy. Presence only — we do not audit its contents.
- Accessibility statement presentA linked, reachable accessibility statement. Presence only — we do not check whether its conformance claims are true.
- Imprint / legal notice presentA linked, reachable Impressum. Raised only for Germany and Austria, where the duty binds essentially every commercial site.
What still needs a human
WCAG 2.1 has 50 success criteria at Level A and AA. 29 of them cannot be reliably checked by any automated tool — they depend on meaning, context, or interaction. The remaining 21 have at least one automated check, which is not the same as being verified: a passing check shows one failure mode is absent, not that the criterion is met.
Show all 29 criteria a human must review
- 1.2.1 Audio-only and Video-only (Prerecorded) (A) — A transcript (audio) or transcript/audio description (video) is provided.
- 1.2.3 Audio Description or Media Alternative (A) — Prerecorded video has an audio description or full text alternative.
- 1.2.4 Captions (Live) (AA) — Live audio/video has real-time captions.
- 1.2.5 Audio Description (Prerecorded) (AA) — Prerecorded video has a synchronised audio description.
- 1.3.2 Meaningful Sequence (A) — Reading/tab order matches the intended meaning when styles are off.
- 1.3.3 Sensory Characteristics (A) — Instructions don't rely on shape, size, or position alone (e.g. "the round button").
- 1.4.1 Use of Color (A) — Colour is not the only means of conveying information (e.g. links, errors).
- 1.4.5 Images of Text (AA) — Text is real text, not an image of text (except logos).
- 1.4.10 Reflow (AA) — Content reflows to 320px width with no horizontal scrolling.
- 1.4.11 Non-text Contrast (AA) — UI components and graphics have ≥3:1 contrast against adjacent colours.
- 1.4.12 Text Spacing (AA) — No loss of content when users override line/letter/word spacing.
- 1.4.13 Content on Hover or Focus (AA) — Hover/focus popups are dismissible, hoverable, and persistent.
- 2.1.2 No Keyboard Trap (A) — Keyboard focus can always be moved away from any component.
- 2.1.4 Character Key Shortcuts (A) — Single-character shortcuts can be turned off or remapped.
- 2.3.1 Three Flashes or Below Threshold (A) — Nothing flashes more than three times per second.
- 2.4.1 Bypass Blocks (A) — A skip link, landmarks, or headings let users bypass repeated navigation.
- 2.4.5 Multiple Ways (AA) — More than one way to find pages exists (e.g. search + sitemap/menu).
- 2.4.7 Focus Visible (AA) — A visible focus indicator appears on every keyboard-focusable element.
- 2.5.1 Pointer Gestures (A) — Multi-point/path gestures have a single-pointer alternative.
- 2.5.2 Pointer Cancellation (A) — Actions complete on up-event and can be aborted.
- 2.5.3 Label in Name (A) — The accessible name of a control contains its visible label text.
- 2.5.4 Motion Actuation (A) — Device-motion features have a UI alternative and can be disabled.
- 3.2.1 On Focus (A) — Focusing an element does not trigger an unexpected context change.
- 3.2.2 On Input (A) — Changing a setting does not auto-submit or navigate unexpectedly.
- 3.2.3 Consistent Navigation (AA) — Navigation is in the same relative order on every page.
- 3.2.4 Consistent Identification (AA) — Components with the same function are labelled consistently.
- 3.3.1 Error Identification (A) — Input errors are described to the user in text.
- 3.3.3 Error Suggestion (AA) — When an error is detected, a correction suggestion is offered.
- 3.3.4 Error Prevention (Legal, Financial, Data) (AA) — Legal/financial submissions are reversible, checked, or confirmed.
Limits that apply everywhere
- — Server-side tracking is invisible to us. Conversions API, server-side tag managers, hashed-email backend sends and anything firing only inside a logged-in area cannot be observed from a public crawl.
- — We see one moment in time. A/B tests, geo-targeted tags and consent state all change what loads, so a scan is a sample rather than a proof.
- — We check that required documents exist, not whether they are correct. A privacy policy that is present but wrong passes this check.
- — A clean result means no client-side evidence was found on the pages crawled. It is not a legal opinion that the site complies with anything.
Scope follows your visitors, not your address
The common assumption is that a company is bound by the law of the country it is registered in. For website compliance that is usually the wrong test. The European Accessibility Act reaches services offered to consumers in the EU; the GDPR reaches the monitoring of people in the EU. A business registered in Sydney with German customers is in scope for both, and a business registered in Berlin selling only to Australia answers to the Disability Discrimination Act rather than the EAA.
So Veracly scopes a scan by the countries your visitors come from, plus the primary market you configure. Jurisdictions with no qualifying traffic are shown on the report as not evaluated rather than silently omitted, so you can see what was and was not assessed.
What “automated” honestly means
Automated accessibility testing has a hard ceiling, and it is worth being precise about where it sits. Of the 50 WCAG 2.1 A and AA success criteria, 29 cannot be reliably verified by any automated tool. No scanner can tell whether alt text isaccurate, whether a reading order matches the intended meaning, or whether an error message is actually helpful — those need a person.
The other 21 have at least one automated check, and that distinction matters too. A passing check means one specific failure mode is absent. It does not mean the criterion is met. An image with alt text passes the automated check whether the text describes the image or reads image1.png.
This is why every Veracly report prints all 29 manual criteria, and why they do not affect your score: scoring criteria we did not test would be inventing a number.
On the privacy side, the limit is structural
Tracker and cookie detection is not a sampling problem — it is an observability one. We drive a real browser to a public page and record what it does. That makes what we find highly reliable: if we say a request fired before consent, you can open DevTools and watch it fire.
It also means an entire category is invisible. Server-side tracking — Conversions API, server-side tag managers, hashed-email backend sends — leaves no trace in the browser. Neither does anything that only fires inside a logged-in area. If those matter to you, a scan is not the tool; a server-log audit is.
Where we say “we are not sure”
Not every finding is equally solid, and reports that pretend otherwise are less useful, not more. Veracly separates three kinds:
- Observed — we watched it happen and can point at the element or the request. You can reproduce it yourself.
- Inferred — established by absence, or by a heuristic. We probed for a privacy policy across a fixed set of locations and did not find one; a site that publishes it somewhere we did not look looks identical to a site with none.
- Contextual — the technical observation is right, but the conclusion depends on facts a scan cannot reach, such as what your privacy policy actually says or whether a tag is consent-gated at runtime.
A finding in the second or third group is a prompt to look, not a verdict. We would rather tell you that than hand you a confident number built on an inference.
What this page is not
It is a description of what our software checks. It is not legal advice, and the list of regulations we monitor is not a list of the regulations that bind you — those are different questions, and only the second one matters to a regulator. If a finding has consequences, take it to a qualified lawyer in the relevant jurisdiction.
If you think a finding is wrong, we would like to know: corrections@veracly.app. We re-scan and reissue or retract within five business days.
Common questions
Does an automated scan prove my site is compliant?
No, and no automated tool can. WCAG 2.1 has 50 success criteria at Level A and AA; 29 of them depend on meaning, context, or interaction and cannot be reliably verified by software. Veracly lists all 29 in every report so a clean automated result is never mistaken for conformance. On the privacy side the limit is structural rather than statistical: we observe what a browser does on a public page, so server-side tracking, authenticated-area tracking, and anything that fires only for some visitors are invisible to us. A clean result means no client-side evidence was found on the pages crawled.
Which countries does Veracly cover?
The 27 EU member states (European Accessibility Act), the 30 EU/EEA states including Iceland, Liechtenstein and Norway (GDPR and ePrivacy), the United Kingdom (Equality Act 2010), the United States (ADA), Canada, and Australia (Disability Discrimination Act). Australia carries its own caveat: the AHRC's April 2025 Guidelines name WCAG 2.2 Level AA as the minimum, and we automate WCAG 2.1 A/AA plus one of the six criteria 2.2 adds — every Australian report lists the five we do not test. Canada needs a caveat: the AODA and its IASR are Ontario law, and we apply them at country level because the technical checks are the same WCAG rules a Canadian business needs under any provincial regime. If you operate outside Ontario the binding instrument is different — the Accessible Canada Act if you are federally regulated, the Accessible British Columbia Act in BC, or your provincial human-rights code — so treat the findings as technical and the Ontario citation as indicative. Scope follows your visitors rather than your company address, so a business registered outside those countries is still in scope for the markets it sells into. If your market is not on the list, a scan still runs and still reports what it technically observes, but nothing is scored against a statute we do not monitor.
Why does my report not mention an Impressum?
The imprint finding is raised only for sites whose primary market is Germany or Austria, where § 5 DDG and § 5 ECG bind essentially every commercial website. Switzerland has a real duty too, under Art. 3(1)(s) UWG, but it applies specifically to electronic commerce rather than to every site, and a crawl cannot tell whether a site trades online. Raising it for every Swiss site would tell brochure operators a statute binds them when it does not, so we do not.
What is the difference between the free scan and a paid report?
The engine is identical — same rules, same jurisdictions, same scoring. The free scan covers a single page and shows the top three priorities with plain-English explanations; the paid report covers your configured page limit on a schedule, lists every priority, and adds remediation snippets, per-jurisdiction detail pages, and evidence screenshots. A finding that appears in a free scan is the same finding a paid scan would produce.
How do I check a finding myself?
Every finding we can reproduce carries a DevTools recipe — the filter to type and what you should see. That is deliberate: a compliance finding you have to take on trust is worth less than one you can confirm in a minute. Findings we cannot reproduce that way say so instead of pretending otherwise, and the report distinguishes what we watched happen from what we inferred from absence.
See where your site stands.
Run a free Veracly scan and get a multi-jurisdiction report, EAA, GDPR, ADA, UK Equality Act, AODA, with copy-paste developer fixes.
Run a free scan