accessibility-pass
Skill95 starsChanged 6 days agoMITView on GitHub
Use this skill whenever the user asks to check, review, or fix the accessibility of a PowerPoint deck, Word document, HTML page, or Markdown file, and before handing over any deck or document this agent just generated, so it does not ship with missing alt text, untitled slides, or unreadable colour contrast.
We split this skill into the rules it gives an agent
12 rules. 0 are common, 11 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
Run the bundled checker when a Python environment is available, from the skill's own root directory (the folder containing scripts/), so …
- Distinctive: line 39
Add the judgement calls the script deliberately does not make:
- Distinctive: line 78
All non-text content has alternative text (alt text)
- Distinctive: line 80
All slides have titles
- Distinctive: line 81
All sections have meaningful names *(the bundled script doesn't check this.
- Distinctive: line 83
Document access is not restricted *(the bundled script doesn't check this.
- Distinctive: line 99
Document language is set
- Distinctive: line 103
Never invent alt text for an image whose content is unknown.
- Distinctive: line 106
Never mark an object decorative to clear a finding.
- Distinctive: line 108
Never edit visible wording, layout, or branding beyond what a fix requires.
- Distinctive: line 109
Never report an unchecked item as a pass.
- Distinctive: line 110
Do not claim WCAG or EN 301 549 conformance.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Review the artefact against Microsoft's Accessibility Checker rules, report what fails, and fix it on request. Use the rule names below verbatim. They are the same ones the author sees when they run the checker themselves in Office, so the findings are recognisable and searchable.
Instructions
- Get the file. Supported:
.pptx,.docx,.html,.md. If the user pasted raw HTML or Markdown instead, save it to a file first. Run the bundled checker when a Python environment is available, from the skill's own root directory (the folder containing
scripts/), so the relative path resolves:python scripts/a11y_check.py <file> --jsonIt needs
python-pptxfor.pptxandpython-docxfor.docx; HTML and Markdown need nothing beyond the standard library. If the environment has no Python, or the import fails: for HTML and Markdown, read the file directly and check it against the rules below by hand. For.pptxand.docx, that fallback doesn't really work, these are zipped Office XML, not something to eyeball as text, so instead say plainly that the file couldn't be checked, and ask the user to run Office's own Accessibility Checker (File > Info > Check for Issues > Check Accessibility) and share what it reports.Add the judgement calls the script deliberately does not make:
- Alt text that exists but is useless.
"image1.png","chart", or a filename is a failure even though the attribute is populated. Read every alt string and judge whether someone who cannot see the image learns the same thing from it. - Wrongly decorative. Anything marked decorative that actually carries information is a failure the script cannot see.
- Reading order that is flagged but fine. The script compares screen-reader order with visual top-left order; deliberate multi-column layouts trip it. Confirm before reporting.
- Meaning carried by colour alone, such as red/green status dots or "the items in orange," which no file-level check can detect.
- Captions and transcripts for embedded audio or video.
- Contrast the script skipped. It only compares explicit RGB values. Theme colours, gradients, and picture fills come back unchecked. Report them as unchecked, never as passing.
- Alt text that exists but is useless.
Report findings grouped by severity, worst first, one row each:
Severity Rule Where Fix Error All slides have titles Slide 4 Add a title in the title placeholder Open with a one-line count (
3 errors, 5 warnings, 1 tip). If nothing fails, say so and list what could not be checked mechanically.- Offer to apply the fixes. Apply directly: adding a missing slide title, adding
a table header row, rewriting vague link text, adding
langto<html>, fixing heading-level jumps. Ask first before writing alt text for an image whose content is uncertain, marking anything decorative, changing colours, or restructuring merged tables, since each of those changes meaning or design. - Re-run the checker after fixing and report what is left.
The rules
Errors: content that is unusable for someone relying on assistive tech.
- All non-text content has alternative text (alt text)
- Tables specify column header information
- All slides have titles
- All sections have meaningful names (the bundled script doesn't check this; ask the user or inspect the file's sections manually)
- Document access is not restricted (the bundled script doesn't check this; verify manually whether the file has IRM/password protection applied)
Warnings: content that is hard to use.
- Sufficient contrast between text and background (WCAG AA: 4.5:1 normal text, 3:1 for text 18pt+ or bold 14pt+)
- Table has a simple structure
- The reading order of the objects on a slide presentation is logical
- Closed captions are included for inserted audio and video
- Hyperlink text is meaningful
Tips: content that could be easier to use.
- Slide titles in a deck are unique
- Documents use heading styles
- Document language is set
Guardrails
- Never invent alt text for an image whose content is unknown. Ask the user what it shows, or describe only what surrounding text supports and say the description needs confirming.
- Never mark an object decorative to clear a finding. Decorative means it carries no information; use it only when that is true.
- Never edit visible wording, layout, or branding beyond what a fix requires.
- Never report an unchecked item as a pass.
- Do not claim WCAG or EN 301 549 conformance. This is a pass over known rules, not a certification. A clean result means no detected issues.
Tone
Direct and specific. Name the rule, the location, and the concrete fix. No lecturing about why accessibility matters; the user already asked.
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- clueso-ai/skills★ 26same name
- charanjit-singh/lovable-skills★ 10same name
- kesslernity/awesome-copilot-office-skills★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository199 other files it gives its agents.
- .github/copilot-instructions.mdCopilot instructions
- acroform-writerSkill
- action-items-todoSkill
- agent-evaluation-designerSkill
- agent-harness-explorerSkill
- agent-performance-triageSkill
- agent-red-teamSkill
- ai-demo-assistantSkill
- ai-first-process-redesignSkill
- ai-usecase-assessmentSkill
- anonymised-case-study-writerSkill
- evidence-gatherSkill
- gap-checkSkill
- readiness-packSkill
- scope-mapSkill
- b2b-outreach-suiteSkill
- blog-content-auditorSkill
- blog-post-structure-passSkill
- booth-loop-videoSkill
- brand-template-enforcerSkill
- brand-voice-passSkill
- breathing-roomSkill
- browser-uat-analystSkill
- business-osSkill
- call-for-speakers-digestSkill
- campaign-deck-builderSkill
- chart-builderSkill
- classic-text-adventureSkill
- clipchamp-videoSkill
- clt-hr-assistantSkill
- commenting-contentSkill
- competitive-battlecard-builderSkill
- conditional-chat-reminderSkill
- conference-session-abstract-packSkill
- contradiction-flagSkill
- insight-briefSkill
- provenance-checkSkill
- research-retrieveSkill
- trend-compareSkill
- content-quality-auditorSkill
- copilot-agent-advisorSkill
- copilot-studio-adaptive-card-builderSkill
- copilot-studio-agent-testSkill
- copilot-studio-harness-pickerSkill
- copilot-studio-knowledge-readinessSkill
- copilot-studio-mcp-readinessSkill
- copilot-studio-topic-blueprintSkill
- cowork-plugin-engineerSkill
- cowork-use-case-one-pagerSkill
- create-copilot-adoption-dashboardSkill
- context-assembleSkill
- handoff-packetSkill
- inquiry-intakeSkill
- knowledge-retrieveSkill
- resolution-draftSkill
- doc-format-converterSkill
- bom-impactSkill
- ecn-draftSkill
- ecr-ingestSkill
- standards-checkSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

