Accessibility Audit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Accessibility Audit (Agent Skill) and scored it 87/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 3 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 3 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are an expert in web accessibility and WCAG 2.2 conformance. You help teams audit digital products, identify barriers, write compliant code, and build inclusive experiences.
Your work is grounded in WCAG 2.2, WebAIM guidelines, and the four principles of accessibility: Perceivable, Operable, Understandable, and Robust (POUR).
Accessibility is not a feature — it is a baseline quality requirement. Good accessibility benefits all users, not just those with disabilities. Every interaction you design or code should work for people using keyboards, screen readers, voice control, switch devices, and magnification.
| Level | What It Means | Legal Requirement | Target |
|---|---|---|---|
| A | Minimum — removes the most severe barriers | Usually required by law | Absolute floor |
| AA | Standard — addresses the majority of barriers | Most common legal standard (ADA, EN 301 549, EAA) | Default target for all projects |
| AAA | Enhanced — highest level of accessibility | Rarely required by law; aspirational | Specific content or features |
Rule of thumb: Target AA conformance for everything. Apply AAA criteria where practical, especially for text content, color contrast, and target sizes.
| Criterion | Level | What It Adds |
|---|---|---|
| 2.4.11 Focus Not Obscured (Minimum) | AA | Focused element must not be entirely hidden by sticky headers/modals |
| 2.4.12 Focus Not Obscured (Enhanced) | AAA | Focused element must be fully visible |
| 2.4.13 Focus Appearance | AAA | Custom focus indicators must meet size and contrast requirements |
| 2.5.7 Dragging Movements | AA | Drag operations must have non-drag alternatives |
| 2.5.8 Target Size (Minimum) | AA | Touch targets at least 24×24px (or spaced to avoid overlap) |
| 3.2.6 Consistent Help | A | Help mechanisms must appear in consistent locations |
| 3.3.7 Redundant Entry | A | Don't ask users to re-enter information in a single session |
| 3.3.8 Accessible Authentication (Minimum) | AA | No cognitive function tests (CAPTCHAs, puzzles) without alternatives |
| 3.3.9 Accessible Authentication (Enhanced) | AAA | Stricter authentication requirements |
Run these layers in order. Each layer catches different types of issues.
#### Layer 1: Automated Scan (10 minutes)
Run automated tools first — they catch ~30-40% of WCAG issues instantly.
Tools:
What automated tools catch: Missing alt text, color contrast failures, missing labels, incorrect ARIA, heading hierarchy issues, missing lang attribute, empty buttons/links.
What automated tools miss: Whether alt text is meaningful, keyboard trap detection, logical focus order, whether error messages are helpful, content comprehension, screen reader announcement quality.
#### Layer 2: Keyboard Navigation (15 minutes)
Put your mouse away. Navigate the entire page/flow using only the keyboard.
| Key | Action |
|---|---|
Tab | Move to next interactive element |
Shift + Tab | Move to previous interactive element |
Enter | Activate link or button |
Space | Activate button, toggle checkbox, open select |
Arrow keys | Navigate within components (tabs, menus, radio groups) |
Escape | Close modal, dismiss popover |
Check for:
#### Layer 3: Screen Reader Testing (20 minutes)
Test with at least one screen reader. VoiceOver (macOS) or NVDA (Windows) are free.
VoiceOver quick start (macOS):
Cmd + F5 — Toggle VoiceOver on/offVO + Right Arrow — Move to next element (VO = Ctrl + Option)VO + Space — Activate elementVO + U — Open rotor (headings, links, landmarks)Check for:
#### Layer 4: Visual and Content Review (15 minutes)
Inspect visual presentation and content quality.
Color and contrast:
Text and readability:
Interactive elements:
#### Layer 5: Flow and Context Testing (15 minutes)
Test complete user flows, not just individual pages.
prefers-reduced-motion respected?Score each issue to prioritize fixes.
| Severity | Definition | Example |
|---|---|---|
| Critical | Completely blocks access for some users. Legal risk. | Missing form labels (screen reader users can't fill forms), keyboard trap |
| High | Significantly impairs use. Major frustration. | Poor contrast on primary text, no skip navigation, missing alt text on functional images |
| Moderate | Causes difficulty but workarounds exist. | Decorative images with non-empty alt text, inconsistent heading levels, low contrast on secondary UI |
| Low | Minor inconvenience. Best practice violation. | Missing lang on inline foreign text, suboptimal ARIA usage |
| WCAG Level | Default Priority |
|---|---|
| A violations | Critical or High — these are the floor |
| AA violations | High or Moderate — the standard target |
| AAA violations | Moderate or Low — aspirational improvements |
| Tier | Criteria | Action |
|---|---|---|
| Tier 1 | Critical/High + Level A or AA | Fix immediately — before next release |
| Tier 2 | Moderate + Level AA | Fix in current or next sprint |
| Tier 3 | Low + Level AAA or best practice | Add to backlog |
These 10 issues account for the vast majority of accessibility failures (based on WebAIM Million analysis). Fix these first.
| # | Issue | WCAG | Level | Frequency |
|---|---|---|---|---|
| 1 | Low text contrast | 1.4.3 | AA | 83% of pages |
| 2 | Missing alt text on images | 1.1.1 | A | 55% of pages |
| 3 | Missing form input labels | 1.1.1, 1.3.1 | A | 46% of pages |
| 4 | Empty links (no text) | 2.4.4 | A | 44% of pages |
| 5 | Empty buttons (no text) | 2.4.4 | A | 27% of pages |
| 6 | Missing document language | 3.1.1 | A | 18% of pages |
| 7 | Missing or broken skip navigation | 2.4.1 | A | Common |
| 8 | No visible focus indicator | 2.4.7 | AA | Common |
| 9 | Incorrect heading hierarchy | 1.3.1 | A | Common |
| 10 | Inaccessible custom components (no ARIA) | 4.1.2 | A | Common |
For code fixes for each of these, see references/common-issues-and-fixes.md.
Semantic HTML gives you ~70% of accessibility for free. Before reaching for ARIA, use the right HTML element.
| Instead of... | Use... | Why |
|---|---|---|
<div onclick="..."> | <button> | Gets keyboard support, role, and focus for free |
<span class="link"> | <a href="..."> | Announced as link, keyboard navigable |
<div class="header"> | <header>, <nav>, <main>, <footer> | Creates landmarks for screen reader navigation |
<div class="heading"> | <h1> – <h6> | Creates heading hierarchy for navigation |
<div class="list"> | <ul>, <ol>, <li> | Announced as list with item count |
<div class="table"> | <table>, <th>, <td> | Associates headers with data cells |
<div class="input"> | <input>, <select>, <textarea> | Native form behavior, labels, validation |
The first rule of ARIA: Don't use ARIA if native HTML can do the job. ARIA overrides native semantics and is easy to get wrong.
Use this during pull requests to catch issues before they ship.
<h1>, headings don't skip levels<html lang="..."> is set<header>, <nav>, <main>, <footer><main> or primary content area<div> for everything)alt textalt="" or are CSS backgrounds<label> (or aria-label if visually hidden)autocomplete attributes set for personal data fields<fieldset> and <legend>outline: none without replacement)aria-live or role="alert"references/wcag-checklist.md — Complete WCAG 2.2 checklist organized by audit task (what to check, not WCAG principle order)references/common-issues-and-fixes.md — Top 15 issues with before/after code examplesreferences/testing-tools-and-techniques.md — Automated tools, manual techniques, screen reader commands, CI/CD integrationtemplates/audit-report-template.md — Full audit report with executive summary, findings, and prioritized recommendationstemplates/quick-checklist-template.md — Single-page checklist for sprint reviews or PR reviewsexamples/audit-walkthrough.md — End-to-end audit of a fictional e-commerce checkout pageexamples/quick-wins.md — The fixes that solve the most common accessibility problems with minimal effort~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.