Free Website Accessibility Checker (WCAG 2.2): no signup
Updated 2026-10-24 · Altlark guides
A free website accessibility checker is the fastest way to find the obvious problems on a page: images with no text alternative, links and buttons that a screen reader announces as nothing, form fields with no label, and a page that doesn't declare its language. Altlark is a free checker that does exactly this. Paste a public URL, and in a few seconds you get a list of issues, the element that caused each one, the WCAG success criterion it relates to, and a plain-English fix. There's no signup and no email required for the scan.
This guide explains what a free checker can realistically tell you about WCAG 2.2, which checks Altlark runs, and what you still need to test by hand.
What WCAG 2.2 is, briefly
The Web Content Accessibility Guidelines (WCAG) are published by the W3C. WCAG 2.2 is the current version of the 2.x series. It keeps almost everything from WCAG 2.1, adds new success criteria (for example 2.4.11 Focus Not Obscured (Minimum), 2.5.7 Dragging Movements, 2.5.8 Target Size (Minimum), 3.2.6 Consistent Help, 3.3.7 Redundant Entry and 3.3.8 Accessible Authentication (Minimum)), and marks 4.1.1 Parsing as obsolete and removed.
Each success criterion has a level: A, AA or AAA. Most organisations aim for Level A and AA. Every check Altlark runs maps to a Level A or AA criterion that exists in both WCAG 2.1 and 2.2, so the results are useful whichever version you're working toward.
What Altlark checks
Altlark fetches the raw HTML your server sends and inspects it without running JavaScript. On each page it looks for:
- Images with no alt attribute (1.1.1 Non-text Content). An
<img>with noaltat all. An emptyalt=""is treated as decorative and is fine. - Linked images with no alt text (1.1.1 and 2.4.4 Link Purpose). A link whose only content is an image with no alt, so the link has no name. See missing alt text on linked images.
- Empty links (2.4.4, 4.1.2). A link with no text, no aria-label, no title and no named image or SVG title inside. See empty links.
- Empty buttons (4.1.2 Name, Role, Value). Icon-only buttons with no name. See empty buttons.
- Form fields with no label (1.3.1, 4.1.2). Inputs, selects and textareas with no label, aria-label, aria-labelledby or title. See missing form labels.
- Missing page language (3.1.1 Language of Page). No
langon the<html>element. See missing html lang. - Missing or empty page title (2.4.2 Page Titled).
- No h1, more than one h1, or a skipped heading level (1.3.1, 2.4.6). Reported as warnings. See skipped heading levels.
- Duplicate ids used by a label or ARIA reference (1.3.1, 4.1.2), which can attach a label to the wrong field.
- Ambiguous link text such as "click here" or "read more" (2.4.4), reported as a warning. See ambiguous link text.
- Iframes with no title (4.1.2). See iframe titles.
- Autoplaying video or audio (1.4.2 Audio Control), reported as a warning. See autoplay media.
Elements hidden from assistive technology (with aria-hidden="true", the hidden attribute, an inline display:none or inside a <template>) are skipped, so you don't get flagged for markup a screen reader never reaches.
What a free checker can't tell you
Automated tools, including this one, find some, not all, accessibility issues. Many WCAG criteria need a human judgment or a rendered page:
- Whether alt text is actually a good description of the image.
- Color contrast, which needs the rendered colors. Altlark doesn't test contrast yet.
- Keyboard access, focus order and visible focus. You need to tab through the page.
- Content injected by JavaScript after load. A static checker sees the HTML your server sends, not what a script adds later.
- Whether a video has accurate captions, or a form gives useful error messages.
So treat a clean result as "no issues found by these automated checks", not as proof the page is accessible. Pair the scan with a quick manual pass: tab through the page with the keyboard, zoom to 200%, and try a screen reader such as NVDA or VoiceOver on your main tasks.
A quick example
Here's a typical header that produces three issues in one go:
<html>
<head><title></title></head>
<body>
<a href="/"><img src="logo.svg"></a>
<button><svg viewBox="0 0 24 24"><path d="M3 6h18M3 12h18M3 18h18"/></svg></button>
</body>
</html>Altlark would report: page language not set, missing page title, a linked image with no alt text (the logo link reads as blank) and an empty button (the menu icon). The fix is small:
<html lang="en">
<head><title>Acme Plumbing | Emergency plumbers in Leesburg</title></head>
<body>
<a href="/"><img src="logo.svg" alt="Acme Plumbing home"></a>
<button aria-label="Open menu" aria-expanded="false">
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M3 6h18M3 12h18M3 18h18"/></svg>
</button>
</body>
</html>How the score works
Each scan gets a score from 0 to 100. Errors weigh more than warnings, repeated instances of the same problem count for more but are capped per check, so one repeated pattern (say, 40 social icons with no names) can't drive the score to zero on its own. The score is a way to track progress over time, not a pass mark. How to read an accessibility scan report walks through a full report.
Free scan vs monitoring
The free scan checks one page, as often as you like (within a small hourly limit). If you want the whole site checked, monitoring plans rescan up to 100 pages per site every day, email you when new issues appear, and keep a dated history in a private dashboard. Agencies can monitor 25 or 75 client sites with their own name on the reports.
Next steps
- Run the free scan on your home page and your most important form (contact, booking or checkout).
- Fix the errors first: they're the issues most likely to block someone completely.
- Re-scan to confirm, then do the manual checks above.