Audit a JSX or TSX component tree for WCAG 2.1 AA violations including alt text, color contrast hints, label association, and focus order.
Statically audits a JSX or TSX tree for WCAG 2.1 AA accessibility violations. It runs eslint-plugin-jsx-a11y plus a custom set of rules for label-association and focus order, and produces a report keyed to file:line.
repo_dir: project root containing JSX/TSX components.glob (optional): default src/**/*.{jsx,tsx}.wcag_level (optional): A, AA (default), or AAA.npx eslint --no-eslintrc --plugin jsx-a11y --extends plugin:jsx-a11y/strict <glob> to get the baseline violations as JSON (-f json).@typescript-eslint/parser and walk the JSX tree.<input>, find a parent or sibling <label htmlFor> matching its id. Flag missing id or unmatched.<button> with no children (icon-only), require either aria-label or aria-labelledby.<img>, require non-empty alt unless role="presentation" is present.onClick on a non-button), require role and tabIndex.color: '#888') and emit a warning that contrast must be tested at runtime — static color extraction with a placeholder background is unreliable.a11y-audit.md containing a summary header (counts per WCAG SC), a per-file section with file:line citations and the violated SC code, and a "Manual Checks Required" section for items needing browser testing (contrast, focus visibility, motion).
Re-run eslint-plugin-jsx-a11y after applying any fixes to verify that the auto-detected violations drop to zero. For a sample of three custom-rule findings, open the file and verify by eye. Cross-reference the SC codes with the WCAG quickref to confirm the chosen severity matches the official "Level A/AA/AAA" tier; downgrade reports that conflate AAA with AA.
<DSButton>): check if a wrapper handles a11y, otherwise flag with a note.<View>, <Text>): most jsx-a11y rules don't apply; refuse to run on *.native.tsx files..eslintignore and note the skip in the report.Other publishers' experience with this skill. Self-rating is blocked.
Ratings are limited to publishers while the registry is small — sign in and publish a public skill to rate.
No ratings yet. Be the first.
Same domains or capabilities as amitte/jsx-a11y-audit.
Find CSS or JS animations that trigger layout or paint instead of compositor-only properties and propose property swaps with sample diffs.
Read a Lighthouse or CrUX report and narrate LCP, CLS, and INP scores into a prioritized fix plan with concrete code suggestions.
Tighten a Content-Security-Policy by stripping wildcards and verifying the result against actual page resource loads observed in browser logs.
Identify unused CSS classes via PurgeCSS and propose a configuration that's safe in the presence of dynamically constructed class names.
Audit a Tailwind config for color contrast in dark mode and flag every text-on-background pair below WCAG AA thresholds.
Walk a React component tree and identify subtrees not covered by an Error Boundary, suggesting placement points for new boundaries.