DEV Community

Damascus Mosley
Damascus Mosley

Posted on

I Built a Free Accessibility Auditor That Actually Passes Its Own Audit

Most free accessibility tools have an accessibility problem.

WAVE is a browser extension with no keyboard-only workflow. Lighthouse runs in Chrome DevTools, a tool screen reader users navigate with workarounds. axe DevTools free tier gives you findings with no WCAG mapping unless you pay.

I'm a CIS student in Grand Rapids, MI doing freelance web accessibility work on the side. I needed a tool I could actually use in client engagements — structured output, WCAG-mapped findings, severity grouping — without paying $200/month for a platform.

So I built one.

What It Does
The MAS Accessibility Audit Toolkit is a free, open-source desktop GUI built in Python and Tkinter. Paste a URL, click Run Audit, get a structured findings report in under 60 seconds.

It currently runs 14 WCAG 2.1 AA check modules:

Alt text detection
Heading structure (h1 count + descent order)
Form label association
Language attribute presence
Tabindex abuse (positive values)
Empty links and empty buttons
Autoplay media detection
PDF link warnings (no user notice)
Page title check
Duplicate ID detection
Landmark roles (main, nav, header, footer)
Skip navigation link check
Accessibility patterns (generic link text, placeholder-as-label, onclick on non-interactive elements, missing table headers, blank target)
62 more modules are in the queue — including Color Contrast, Screen Reader Simulation, Platform Detection, and Touch Target CSS checks.

The Part I'm Most Proud Of
The auditor itself is fully accessible. It seemed like the minimum viable requirement — an accessibility tool that doesn't pass its own audit is indefensible.

Here's what that means in practice:

Four themes: Dark, Light, High Contrast, CVD-Safe

CVD simulation modes: Protanopia, Deuteranopia, Tritanopia, Monochrome — inside the tool, so you can see what your color choices look like to users with color vision deficiencies before you ship

Dyslexia font presets — Normal, Large, X-Large — persisted across sessions

Font family and size controls — 14pt to 20pt, user-adjustable, persisted

Word spacing and line height sliders — persisted

Screen reader announcements — on theme change, scan complete, and error states

Non-color prefix cues throughout — [!] for errors, [OK] for passes, [>] for informational — because color alone isn't enough

None of this exists in WAVE, Lighthouse, or the free tier of any tool I've used. An accessible auditor that audits for accessibility is the whole point.

What It Can't Do
Automated tools catch roughly 30–40% of WCAG failures. The MAS Toolkit is in that same range. It's static HTML analysis — it can't test keyboard interaction, evaluate screen reader announcements in real assistive tech, or assess cognitive load through user testing.

It's a starting point. A fast, structured, WCAG-mapped starting point — but not a replacement for manual review.

I say this upfront in every client engagement. The audit report documents it explicitly. Honesty about scope is a feature, not a disclaimer.

Where It's Going
The next phase of the build adds platform detection — identifying whether a client's site is on a locked CMS (Squarespace, Wix, res-menu.net) and flagging every finding with a PLATFORM RESTRICTED marker. Because there's no point handing a developer a remediation roadmap for a site they can't modify.

After that: color contrast checking, viewport meta checks, touch target CSS checks, and eventually a web SaaS version with Stripe billing and team access.

Try It
GitHub: github.com/MosleyAutomationSystems/MAS-audit-toolkit

MIT licensed. Free to use, fork, and build on.

If you're doing accessibility work and have feedback on the module list, the findings format, or anything else — I'm building this in public and I want to know what's missing.

Damascus (Bear) Mosley — Lead Developer & Accessibility Specialist, Mosley Automation Systems · Grand Rapids, MI

Top comments (0)