Skip to content

Web accessibility audit tool#1979

Open
sudeepghatak wants to merge 2 commits into
github:stagedfrom
sudeepghatak:web-accessibility-audit
Open

Web accessibility audit tool#1979
sudeepghatak wants to merge 2 commits into
github:stagedfrom
sudeepghatak:web-accessibility-audit

Conversation

@sudeepghatak

Copy link
Copy Markdown
Contributor

Pull Request Checklist

  • [X ] I have read and followed the CONTRIBUTING.md guidelines.
  • [X ] I have read and followed the Guidance for submissions involving paid services.
  • [X ] My contribution adds a new instruction, prompt, agent, skill, or workflow file in the correct directory.
  • [X ] The file follows the required naming convention.
  • [X ] The content is clearly structured and follows the example format.
  • [X ] I have tested my instructions, prompt, agent, skill, or workflow with GitHub Copilot.
  • [X ] I have run npm start and verified that README.md is up to date.
  • [X ] I am targeting the staged branch for this pull request.

Description

A self-contained Agent Skill that takes accessibility work beyond a passing scanner score. It pairs automated scanning with the manual checks that tools can't do, triages findings by real user impact, and remediates in the source rather than patching the rendered DOM.


Type of Contribution

  • New instruction file.
  • New prompt file.
  • New agent file.
  • New plugin.
  • [ X] New skill file.
  • New agentic workflow.
  • Update to existing instruction, prompt, agent, plugin, skill, or workflow.
  • Other (please specify):

Additional Notes


By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

Copilot AI review requested due to automatic review settings June 12, 2026 01:27
@github-actions github-actions Bot added new-submission PR adds at least one new contribution skills PR touches skills labels Jun 12, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a new web-accessibility-audit skill with supporting references and a runnable Node script to execute axe-core scans against live URLs and produce a summarized + JSON report.

Changes:

  • Added axe-audit.mjs Playwright + axe-core runner script with CLI flags and CI-friendly exit codes.
  • Added a WCAG 2.2 AA checklist/remediation reference document for manual auditing.
  • Registered the new skill in docs/README.skills.md and provided a detailed SKILL.md workflow.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
skills/web-accessibility-audit/scripts/axe-audit.mjs New CLI script to run axe-core via Playwright and emit summary/JSON output.
skills/web-accessibility-audit/references/wcag-2.2-checklist.md New WCAG 2.2 checklist + remediation guidance reference.
skills/web-accessibility-audit/SKILL.md New skill definition and end-to-end audit workflow documentation.
docs/README.skills.md Adds the new skill to the skills index table.

Comment on lines +28 to +40
function parseArgs(argv) {
const args = { url: null, tags: ['wcag2a', 'wcag2aa', 'wcag22aa'], json: null, full: false };
const rest = argv.slice(2);
for (let i = 0; i < rest.length; i++) {
const a = rest[i];
if (a === '--tags') args.tags = rest[++i].split(',').map((t) => t.trim()).filter(Boolean);
else if (a === '--json') args.json = rest[++i];
else if (a === '--full') args.full = true;
else if (a === '--help' || a === '-h') args.help = true;
else if (!a.startsWith('--')) args.url = a;
}
return args;
}
Comment on lines +49 to +52
if (args.help || !args.url) {
usage();
process.exit(args.url ? 0 : 1);
}
Comment on lines +131 to +134
process.exit(Math.min(violations.length, 250));
} finally {
await browser.close();
}
Comment on lines +23 to +26
| Criterion | Check | Common failure |
|-----------|-------|----------------|
| 1.1.1 Non-text Content — A | All images/icons/controls have a text alternative; decorative images use `alt=""` | Icon-only buttons with no `aria-label`; `alt` repeating adjacent text |
| 1.2.x Time-based Media — A/AA | Video has captions; audio has transcripts | Auto-playing video, no captions |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-submission PR adds at least one new contribution skills PR touches skills

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants