Table of Contents
How I use tools like axe-core, AccessLint, and Deque AI to ship more inclusive websites
If you’ve ever squinted at a high-contrast toggle, tried to tab through a site and got lost, or found yourself clicking blindly through a dropdown with no feedback — congrats, you’ve experienced poor accessibility first-hand.
As developers, we often focus so much on performance, aesthetics, and clean code that we forget a core truth: not everyone interacts with the web the same way. That’s where accessibility — or A11y — comes in.
Over the past year, I’ve started making accessibility a default part of every project I work on. But manually checking every contrast ratio or keyboard state is painful. Luckily, we’ve got a growing suite of tools — some even powered by AI — to make the process smoother, smarter, and even automated.
This blog is a full deep dive into how I approach accessibility audits using AI-powered tools, scorecards, and DevOps integrations. No fluff — just clear steps, tools, code snippets, and checklists you can steal, lol.
Why Accessibility Matters More Than Ever
Let’s be real — accessibility has been the “right thing to do” for years, but it hasn’t always been taken seriously. In 2025, that’s changing fast:
- Lawsuits & legal standards: Countries are now enforcing WCAG 2.1/2.2 compliance.
- Search engines care: Google’s Core Web Vitals and Lighthouse scores reward accessible design.
- Real people are impacted: Over 1 billion people live with disabilities globally. You’re building for them, too.
But beyond those reasons, I’ve found that accessible websites are just better websites — they’re cleaner, more usable, and easier to maintain.
Manual vs Automated Audits
Traditionally, accessibility audits were mostly manual:
- Inspect the DOM for semantic tags
- Tab through each screen manually
- Use tools like Colour Contrast Analyzer
- Hope you didn’t miss anything
This is important, but also time-consuming — and honestly, easy to skip when you’re under a deadline.
Now, we’ve got tools that combine static code analysis, AI heuristics, and in-browser simulations to find issues fast and at scale.
My Accessibility Audit Stack
Here’s the exact stack I use when auditing projects (especially Next.js or React apps):
1. axe-core
By far my favourite tool. You can run it via:
- Browser extension (Chrome, Firefox): Gives a quick scan of any page with detailed issue breakdowns.
- CLI: Use
@axe-core/cli
to scan static files or live URLs. - CI/CD integration: Plug into GitHub Actions or custom pipelines.
npx axe https://yourwebsite.com --save results.json
💡 Bonus: It also gives links to specific WCAG guidelines per issue.
2. WAVE (Web Accessibility Evaluation Tool)
Built by WebAIM. I like it because it gives visual feedback — it overlays issue icons directly on the page.
- Helpful for spotting layout-related issues or things like missing headings.
- Not AI-driven, but still excellent for manual review.
3. AccessLint
This is where it gets interesting.
- Integrates directly with GitHub pull requests
- Runs accessibility checks on your code, not just the DOM
- Uses static analysis + AI to flag potential accessibility regressions early
Perfect for teams or solo devs who want to catch issues before merging to main
.
4. Deque AI Tools
Deque’s tools (like axe DevTools Pro) now use AI to:
- Suggest alt text based on image analysis
- Auto-categorise issues and recommend fixes
- Group similar problems to speed up triaging
Great for larger projects where you don’t want to scroll through 100+ individual issues.
Step-by-Step Audit Process (What I Actually Do)
Let’s walk through a real example: auditing a Next.js marketing site.
1. Run axe-core in the browser
I use the Chrome extension first:
-
Open DevTools → “axe” tab → Run scan
-
You’ll get a list of issues like:
- “Elements must have sufficient color contrast”
- “Form elements must have labels”
- “Links must have discernible text”
It even highlights the DOM nodes directly. Quick, easy wins.
2. Run axe-core CLI in terminal
npx axe https://example.com --save results.json
This gives you a JSON file to parse or turn into a report. I usually convert this into a Notion checklist for teams.
3. Use AccessLint in PRs
Add AccessLint to your GitHub repo:
# .github/workflows/accesslint.yml
name: "AccessLint Check"
on: [pull_request]
jobs:
accessibility:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: accesslint/action@v1
It’ll add annotations right into your PR diffs.
4. Run WAVE for visual review
After fixes, I run WAVE to spot layout problems, landmark issues, or keyboard traps that the automated tools missed.
Sample Scorecard
I usually summarise findings like this:
Issue Type | Count | Fixed | Notes |
---|---|---|---|
Missing alt text | 12 | ✅ | Used AI suggestions from Deque |
Poor colour contrast | 5 | ✅ | Switched to accessible palette |
Missing labels | 7 | ✅ | Added aria-label |
Keyboard traps | 2 | ✅ | Fixed focus state with Tailwind |
Fix Checklist: Common Errors
Here’s a table I keep reusing across projects — feel free to steal it:
❌ Issue | ✅ How to Fix |
---|---|
Missing alt text | Add alt="Description" or use aria-hidden="true" for decorative images |
Contrast issues | Use accessible colour tools (e.g., Contrast Checker) |
Non-descriptive links | Replace “click here” with meaningful text like “Read the blog” |
No form labels | Use <label for="id"> or aria-label |
Inaccessible buttons | Avoid div or span for buttons; use <button> |
No skip link | Add <a href="#main" class="skip-link">Skip to content</a> |
CI/CD Integration: Accessibility in DevOps
This part is underrated.
Adding accessibility checks into CI/CD means:
- No more “we’ll fix it later”
- You break the build when A11y scores drop
- You can track accessibility regressions just like performance or tests
Try this:
- Add axe-core or Lighthouse CI to your GitHub Actions
- Trigger alerts via Slack or email if scores drop below threshold
- Include A11y score in PR templates
lighthouse https://yoururl.com --only-categories=accessibility --output=json
Accessibility is a Culture, Not a Task
I’ll be honest: I used to treat accessibility like a checklist item.
Now, it’s part of how I design components, review PRs, and even structure content.
AI helps massively — it reduces manual grind, catches patterns I miss, and fits cleanly into CI/CD pipelines.
But tools aren’t everything. You still need empathy — to imagine how someone might use a screen reader, or navigate without a mouse, or process content with cognitive challenges.
Accessible design = thoughtful design.
Resources & Downloads
In a Nutshell
If you’ve made it this far, you already care about accessibility — and that’s the first (and most important) step.
Start small: run a quick audit, fix a couple of contrast issues, add skip links. From there, let the tools (and the AI) help you scale.
And if you’ve got tips, tools, or war stories from your own audits — email me.
Let’s build better, more inclusive websites — together.