
Inaccessible websites carry real legal exposure under rules like the ADA in the US and the European Accessibility Act in the EU. Yet most WordPress and Shopify owners have no practical way to find and fix WCAG violations across every page they publish. Free scanners produce a long list of problems and stop there. That gap is what an AI WCAG accessibility compliance checker can close: detection, remediation and reporting in one automated loop. This post walks through how we built one with Node.js, axe-core, JSDOM and OpenAI GPT-4.1 on our AI Accessibility platform.
We will cover the scanning engine, how AI-generated fixes are applied safely, the WordPress and Shopify integrations, reporting, and what to weigh before building or buying an accessibility tool.
Why automated WCAG compliance needs more than a scanner
Manually auditing every page against WCAG 2.0 and hand-fixing each violation does not scale for a site with hundreds of products or posts. Site owners needed three things together:
- Detection across their whole site, not one URL at a time.
- Remediation that actually changes the site, not just a to-do list.
- Evidence — reports they can show an auditor, with a history of what was fixed and when.
The platform is a production-grade SaaS back end, built as a REST API on Node.js, Express.js and TypeScript with MongoDB via Mongoose. It is organized into 15 feature modules and 9 route groups, which keeps scanning, fixing, billing and reporting cleanly separated.
One honest caveat up front, which we repeat to every client: automated tools catch a meaningful share of WCAG issues, but not all of them. Things like whether alt text is genuinely meaningful or whether a flow makes sense with a screen reader still benefit from human review. Automation is the way to make the bulk of compliance work manageable, not a replacement for judgement.
How to scan websites for WCAG violations with axe-core and JSDOM
The scanning engine combines three libraries. JSDOM renders pages server-side, axe-core runs WCAG 2.0 A, AA and AAA rule checks against that DOM, and Cheerio handles fast HTML parsing and manipulation.
Why axe-core
axe-core is the open-source accessibility engine behind many well-known testing tools. Its rules map to WCAG success criteria and it returns structured results — the rule, the impact level and the offending elements — which is exactly what you need to drive automated fixes.
Why server-side rendering with JSDOM
Running scans on the server means users do not need a browser extension, scans can be scheduled, and many pages can be processed in the background. JSDOM is lighter than a full headless browser, which keeps scanning costs down at scale. The trade-off is that JSDOM does not compute visual layout, so checks that depend on rendered appearance may need a headless browser in some cases. Knowing that limit is part of designing the system honestly.
Categorizing violations
The platform identifies violations across 15+ categories and tracks severity, so a site owner sees what matters most first rather than a flat list of hundreds of warnings.
Using GPT-4.1 to generate and apply accessibility fixes
Detection is where most tools stop. Here, an AI engine powered by OpenAI GPT-4.1, with Google GenAI also in the stack, generates code-level fixes for 15+ violation types. Crucially, fixes are applied either deterministically or via the LLM, depending on the issue.
That distinction is the most important design choice in the system:
- Deterministic fixes handle issues with a single correct answer, such as adding a missing lang attribute or associating a label with a form field. Rule-based code is faster, cheaper and fully predictable.
- LLM fixes handle issues that need context, such as writing alt text that describes an image's purpose or producing an accessible name for an ambiguous control.
Use an LLM where judgement is needed and plain code everywhere else. It keeps costs predictable and makes the system easier to trust.
Large sites generate many fixes at once, so batch AI processing uses semaphore-based concurrency control. That caps how many model calls run in parallel, which keeps the platform inside API rate limits and stops one big scan from starving every other customer.
Every applied change is recorded in a remediation audit log per website, and fixes support rollback. Any system that edits a customer's live site automatically must be able to undo its own changes cleanly.
Integrating with WordPress and Shopify
Fixes only matter if they reach the live site. The platform connects through two dedicated integrations:
- WordPress — a plugin API is used to scan pages, apply fixes and roll them back.
- Shopify — app-based scanning and fix application using API key authentication.
Designing for both meant keeping the core scanning and fix logic platform-agnostic, with each integration acting as an adapter that knows how to read pages from, and write changes back to, its CMS. Adding another platform later means writing a new adapter rather than reworking the engine. If your own product lives on a CMS, our CMS and no-code solutions team works on these integrations regularly.
Multi-tenant SaaS: auth, billing, real-time dashboards and PDF reports
Around the scanning and fixing core sits the SaaS infrastructure that makes it a product:
- Multi-tenant company accounts with superAdmin and companyAdmin roles.
- Authentication via Passport.js with JWT, Google OAuth and API key access, plus rate limiting, XSS protection, Helmet headers and Joi validation.
- Stripe subscription billing with a customer portal, webhooks and plan management. Plaid is also part of the integration set.
- Real-time dashboards over Socket.io showing compliance stats, severity breakdown and an activity feed, with push notifications via Firebase Cloud Messaging and email via Nodemailer.
- PDF compliance reports generated with PDFKit, including score trends and violation breakdowns, stored on AWS S3 and shared through presigned URLs so reports are never publicly exposed.
Winston handles logging and PM2 runs the processes in production. The reports deserve particular care. For many customers the PDF is the deliverable — the thing they send to legal or attach to a procurement response — so score trends over time matter as much as the current snapshot.
Should you build or buy an accessibility compliance tool?
If you simply need your own site to be accessible, you probably do not need to build a platform. An audit, targeted fixes and accessibility built into your design process will usually serve you better. Building makes sense when:
- You are an agency or SaaS company offering accessibility as a product or service.
- You manage many sites and need remediation, not just detection, at scale.
- You need custom reporting or integrations that existing tools do not provide.
If you do build, prioritize rollback and audit logging before AI fixes, separate deterministic from LLM-driven remediation, and be clear with users about what automation can and cannot verify. This project sits in our AI integration and automation practice. The full scope is in the AI Accessibility case study.
Frequently Asked Questions
Can AI fix WCAG accessibility issues automatically?
AI can generate and apply fixes for many common issues, such as missing alt text, labels and accessible names. The most reliable systems combine rule-based fixes for clear-cut problems with LLM fixes for context-dependent ones, and keep a rollback path and audit log for every change.
What is axe-core used for?
axe-core is an open-source JavaScript engine that tests web pages against WCAG rules and returns structured results describing each violation, its impact and the affected elements. It is widely used inside accessibility testing tools and CI pipelines.
Does an automated scan make my site ADA or EAA compliant?
No scanner alone guarantees compliance. Automated checks find a large share of issues and make remediation manageable, but some criteria require human review. Treat automated scanning as continuous monitoring alongside periodic manual audits.
Can accessibility fixes be applied to Shopify and WordPress sites?
Yes, through platform integrations. This platform uses a WordPress plugin API and a Shopify app integration to apply fixes directly and roll them back if needed.
Building an accessibility product, or adding AI remediation to an existing tool? Get in touch — we will tell you where AI genuinely helps and where plain code is the better choice.
