
I build web apps and I always mean to audit accessibility before shipping, and I never do. axe-core...
title: Audit WCAG 2.1 accessibility on every pull request (free GitHub Action) published: true description: tags: accessibility, github, webdev, devops
I build web apps and I always mean to audit accessibility before shipping,
and I never do. axe-core DevTools is great but it's a browser extension
I have to remember to open. So I built the thing I actually wanted:
a GitHub Action that runs axe-core on every PR and fails the job if it
finds serious violations.
on: pull_request
jobs:
a11y:
runs-on: ubuntu-latest
permissions: { contents: read, pull-requests: write }
steps:
- uses: jpatel3/a11yscout@v1
with:
urls: https://your-preview-url.example.com
level: AA
fail-on: serious
That's it. You'll get a PR comment like:
3 violations (2 critical, 1 serious)
button-name— Buttons must have discernible text (WCAG 4.1.2 A)image-alt— Images must have alternative text (WCAG 1.1.1 A)link-name— Links must have discernible text (WCAG 2.4.4 A)
axe-core reports violations by CSS selector — button.sc-dkPtRN — which
is useless. a11yscout ships an optional Vite plugin that makes the
violations say src/components/Button.tsx:12:4 instead:
import { a11yscout } from "@a11yscout/vite-plugin";
export default defineConfig({
plugins: [react(), a11yscout()],
});
The plugin injects a data-a11yscout-src attribute at build time, and the
scanner reads it back.
It's day one. Feedback welcome — especially on which framework plugin to
build next.
aiMost of us have seen a coding agent fail to complete a task we know it can do. We just don't...
googlecloudWhen building Generative AI applications, developers often encounter a massive bottleneck: sequential...
discussI’ve been thinking about sharing some electronic circuit posts on Dev.to — small circuits, DIY...
agentsWhat nobody tells you about exporting your multi-agent prototype to a local workspace. Every...
agenticarchitectAutonomous agents are genuinely good at answering messy business questions. Give one an LLM and a set...
aiPR volume went up, ticket quality didn't, and the gap got filled with LLMs on both sides of the review: bots reviewing, bots replying, bots occasionally arguing with bots about priorities that only existed in a teammate's head. Our CEO named the actual problem, and it's bigger than code review.
Workflows from the Neura Market marketplace related to this Stable Diffusion resource