Agent skill

Hax A11y Audit

by haxtheweb in haxtheweb/haxcms-php

READ-ONLY diagnostic: review authored HAX page/site content against WCAG 2.0 AA (image alt text, heading hierarchy, landmark structure, link text, form labels, color contrast, media…

MITAuto-check passedFrontend & Design

Install Hax A11y Audit

skills CLI
$ npx skills add haxtheweb/haxcms-php --skill hax-a11y-audit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install haxtheweb/haxcms-php hax-a11y-audit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/haxtheweb/haxcms-php.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.well-known/agent-skills/hax-a11y-audit .claude/skills/hax-a11y-audit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
hax-a11y-audit
GitHub stars
130
Token cost
~5.5k tokens
SKILL.md length
2,069 words
Files
3 (incl. references)
Skills in repo
18
Repo updated
First seen
Licence
MIT

At a glance

READ-ONLY diagnostic: review authored HAX page/site content against WCAG 2.0 AA (image alt text, heading hierarchy, landmark structure, link text, form labels, color contrast, media…

  • Works in 6 steps: Ingest structure. Locate the page(s) in… → Run the WCAG 2.0 AA checks across… → Map each finding to a real HAX… → …
  • The user says is this accessible
  • SKILL.md covers The worldview in one paragraph, When to Use, Scope: this skill is READ-ONLY and Inputs, plus 8 more sections
  • Calls npx

What it does

Hax A11y Audit is an agent skill from haxtheweb/haxcms-php. READ-ONLY diagnostic: review authored HAX page/site content against WCAG 2.0 AA (image alt text, heading hierarchy, landmark structure, link text, form labels, color contrast, media caption/transcript/audio-description presence, keyboard/focus, ARIA correctness, data-table markup, list semantics) and emit a report with actionable HAX web-component + plain-HTML remediation. Use when the user says "is this accessible", "audit for WCAG", "check my page for accessibility", "does this meet WCAG 2.0 AA", "screen reader…

Its SKILL.md is about 5.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `evals/evals.json` and `references/a11y-element-map.md`).

It sits in Frontend & Design, covering Accessibility. The repository describes itself as: HAX + CMS to manage your microsite universe with PHP backend. The licence is MIT.

When your agent uses it

  • The user says is this accessible
  • Check my page for accessibility
  • Does this meet WCAG 2.0 AA
  • Screen reader test

Example prompts

  • “is this accessible”
  • “audit for WCAG”
  • “check my page for accessibility”
  • “/hax-a11y-audit”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Ingest structure. Locate the page(s) in the HAX project
  2. Run the WCAG 2.0 AA checks across authored content. For each page, evaluate
  3. Map each finding to a real HAX remediation. Use references/a11y-element-map.md.
  4. Apply the overlap / defer rules
  5. Determine the overall rating
  6. Emit the report (format below), then an "Implementation handoff" block.

What it can do on your machine

Read from SKILL.md and the folder at commit 3542096. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • w3.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Hax A11y Audit loads about 5.5k tokens when it runs, and up to ~9.9k if it reads all its reference files. Until then it costs about 204 tokens; SKILL.md has 2,069 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~204
When it runs · the whole SKILL.md, loaded when a task matches
~5.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from haxtheweb/haxcms-php at commit 3542096, republished under its MIT licence (© haxtheweb). 2,069 words, ~5,518 tokens.

Download SKILL.mdSave it as .claude/skills/hax-a11y-audit/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
hax-a11y-audit
description
READ-ONLY diagnostic: review authored HAX page/site content against WCAG 2.0 AA (image alt text, heading hierarchy, landmark structure, link text, form labels, color contrast, media caption/transcript/audio-description presence, keyboard/focus, ARIA correctness, data-table markup, list semantics) and emit a report with actionable HAX web-component + plain-HTML remediation. Use when the user says "is this accessible", "audit for WCAG", "check my page for accessibility", "does this meet WCAG 2.0 AA", "screen reader test", "are my images described", "is my color contrast OK", "do my videos have captions", or "accessibility audit" — even if they don't say "WCAG" or "a11y". Diagnoses only; hands off to hax-claudehax / hax-site-building for remediation and to hax-media-a11y for media-depth work.
version
1.0.0
license
MIT
metadata.author
PRAW
metadata.tags
accessibility, wcag, wcag-2-0-aa, a11y, audit, hax, diagnostic, compliance, contrast, captions, screen-reader
metadata.requirements
A HAX site path (site.json + pages/*.html) or a single page (JOS node / raw HTML / markdown). Emits a report; does NOT edit pages or site.json.

HAX Accessibility Audit (WCAG 2.0 AA — Read-Only Diagnostic)

Review authored content on an existing HAX site/page against WCAG 2.0 AA and emit a diagnostic + remediation report. This skill diagnoses and recommends only — it does not edit pages, mutate site.json, or insert components. It mirrors the hax-udl-audit and hax-ubd-unit-audit pattern but operates through the WCAG lens: does the authored content meet the technical access standard for people with disabilities?

The worldview in one paragraph

WCAG 2.0 AA is an explicit HAX ecosystem pillar — the ecosystem commits to it in its community pillars and component audits — yet no existing skill audits authored content for it. This skill fills that gap. WCAG is about technical access for people with disabilities: can a screen-reader user perceive the content, can a keyboard-only user operate it, is contrast sufficient for low-vision users, are media alternatives present. This is distinct from UDL (pedagogical inclusivity — multiple means of reaching diverse learners), from content chunking (cognitive load — is the page a wall of text), and from component-internal accessibility (a custom element's own shadow-DOM ARIA/keyboard, which hax-webcomponent-dev owns). Much of WCAG remediation on a HAX site is plain HTML: alt text, semantic headings, landmark roles, link text, scope/headers/caption on tables. The rest maps to real HAX components that bake accessibility in. This audit reports what fails, cites the WCAG criterion, and recommends only real remediation — never an invented tag.

When to Use

Trigger conditions:

  • "Is this accessible" / "audit for WCAG" / "check my page for accessibility"
  • "Does this meet WCAG 2.0 AA" / "screen reader test" / "accessibility audit"
  • "Are my images described" / "is my color contrast OK" / "do my videos have captions"
  • "Can a keyboard user get through this page" / "is my heading order right"
  • even when the user does not say "WCAG" or "a11y" — if they question whether authored content is perceivable, operable, understandable, or robust for users with disabilities, this is the skill

When NOT to use (with redirect):

  • Component-INTERNAL accessibility (a custom element's own shadow DOM ARIA/keyboard/tabindex) → hax-webcomponent-dev
  • Pedagogical inclusivity / multiple means / learner agency → hax-udl-audit
  • Page-scope cognitive load / "wall of text" / chunking → hax-content-chunking-audit
  • DDD/CSS token-usage compliance (is the DDD token used at all) → hax-design-system
  • MEDIA DEPTH (caption quality/timing/accuracy, transcript fidelity, audio-description authoring/coverage, asset production) → hax-media-a11y (this skill flags media caption/transcript/audio-description presence as a WCAG 1.2 finding and hands off to hax-media-a11y for depth + asset production — see the overlap rule below)
  • Unit alignment / backward design → hax-ubd-unit-audit
  • Cognitive level of an objective/assessment → grad-blooms

Scope: this skill is READ-ONLY

This skill diagnoses and recommends only. It produces a report. To apply remediation, hand off to the related skills and the hax CLI / hax-claudehax (see "Implementing the Recommendations" below). Never edit pages/*.html or site.json from within this skill.

Inputs

  • a HAX site path: site.json (JOS tree) + pages/*.html, or a single page (JOS node / raw HTML / markdown)
  • optional pageSlug to scope the audit to one page (else audit every page and report site-level patterns)
  • optional reference to the DDD token values for contrast computation (the skill can read d-d-d tokens from the sibling repo if needed)

Methodology

  1. Ingest structure. Locate the page(s) in the HAX project:
    • site.json (JSON Outline Schema) for the node tree + metadata
    • pages/<slug>.html for rendered page content (the canonical content source)
    • a JOS items export or markdown representation for offline review
  2. Run the WCAG 2.0 AA checks across authored content. For each page, evaluate:
    • 1.1 Text Alternatives (1.1.1): every <img>, media-image, a11y-figure, or background-image carrying information has meaningful alt text. Decorative images get alt="" (or aria-hidden="true" on simple-icon-lite) — not missing alt, not alt="image". Flag both missing-alt and junk-alt (alt="placeholder", alt="arrow").
    • 1.3 Adaptable / heading hierarchy (1.3.1): exactly one h1 per page; no skipped levels (no h2 → h4); headings used for structure, not styling. Flag the skip location.
    • 1.3 Adaptable / landmarks (1.3.1): page content uses semantic landmarks (header, nav, main, article, aside, footer) or equivalent ARIA roles. Flag a page with no main landmark or div-soup structure.
    • 1.4 Distinguishable / contrast (1.4.3 text, 1.4.11 UI): authored text and UI components meet 4.5:1 (normal text < 18pt / 14pt bold) or 3:1 (large text ≥ 18pt / 14pt bold, and UI component boundaries). Compute ratios against the DDD token values the page uses. Report the actual ratio and the token pair. (Token usage compliance — did the author use a DDD token at all — is hax-design-system's job; contrast checking against token values is this skill's job.)
    • 2.4 Navigable / link text (2.4.4, 2.4.9): no "click here", "read more", "learn more", or bare URLs as link text. Every link's purpose is clear from the link text alone (or link text + context). Flag each ambiguous link with its text and href.
    • 2.4 Navigable / focus order (2.4.3): authored interactive markup (custom buttons, tabbed interfaces, collapsible sections) is keyboard-reachable in a logical order. Flag tabindex values that are positive (anti-pattern) or authored elements that lack keyboard access.
    • 3.3 Input Assistance / form labels (3.3.2): every authored form field has a programmatic label (<label for=...>, aria-label, or aria-labelledby). Flag unlabelled <input>, <select>, <textarea> in authored content.
    • 4.1 Compatible / ARIA correctness (4.1.2): authored ARIA is valid — role matches the element's function, aria-label/aria-labelledby on interactive elements, aria-hidden="true" on presentational icons, no redundant roles on native semantics (e.g. <button role="button"> is redundant). Flag each violation with the exact markup.
    • 1.3 Data tables (1.3.1): data tables use <caption>, scope on <th> (or headers/id for complex tables), and are not used for layout. Flag tables missing these.
    • 1.3 List semantics (1.3.1): lists use <ul>/<ol>/<dl>; do not flag styled lists that are genuinely presentational.
    • 1.2 Media alternatives (1.2.1, 1.2.2, 1.2.3, 1.2.5): every video-player / audio-player / a11y-media-player with audio has a track (captions) present; video has either captions or an audio-description track (audio-description-source); audio has a transcript link or slotted transcript. Flag presence only — caption quality/timing/accuracy, transcript fidelity, and audio-description authoring/coverage are hax-media-a11y's depth scope (see overlap rule).
  3. Map each finding to a real HAX remediation. Use references/a11y-element-map.md. Every recommendation is either a component swap (replace the failing markup with a real HAX component that bakes in the accessibility) or a plain-HTML fix (edit the markup in pages/<slug>.html directly — alt text, headings, landmarks, link text, table markup). Never invent a tag name and never recommend a legacy tag (instruction-card, lrndesign-sidenote, link-preview, model-viewer are excluded).
  4. Apply the overlap / defer rules:
    • Media depth (SYMMETRIC with hax-media-a11y): when a media finding is about caption quality, transcript fidelity, or audio-description authoring/coverage, defer to hax-media-a11y. This skill reports media presence (is there a track at all?) as a WCAG 1.2 finding and hands the depth work off. State this split explicitly in the finding so the orchestrator knows where to send the follow-up. This rule is symmetric: if hax-media-a11y discovers a presence gap (no track file exists), it should hand back to this skill to file the WCAG 1.2 finding.
    • Component-internal a11y: if the failure is inside a custom element's shadow DOM (the element's own tabindex/ARIA/keyboard), defer to hax-webcomponent-dev.
    • Pure token usage: if the only issue is "the author hardcoded a hex color instead of a DDD token," that is hax-design-system's scope. This skill only checks contrast ratios against the tokens the page actually uses.
    • Cognitive load / chunking: if the page is a wall of text, that is hax-content-chunking-audit's scope — do not double-report it as a WCAG finding.
  5. Determine the overall rating:
    • Compliant: all checked criteria pass; no Level A or AA failures. Minor advisories (e.g. "consider a longer description for this complex diagram") may be noted but do not affect the rating.
    • Partial: one or more Level A/AA failures are present but the page is fundamentally perceivable/operable (e.g. a few missing alt texts, one heading skip, one ambiguous link). Remediation is surgical.
    • Non-compliant: a structural failure that blocks access — e.g. no main landmark, a full-screen keyboard trap, contrast below 3:1 on body text, or zero media alternatives on a media-heavy page.
  6. Emit the report (format below), then an "Implementation handoff" block.
Show full SKILL.md (771 more words)Show less

Expected Output Format

Format findings exactly like this structure (mirrors hax-udl-audit / hax-ubd-unit-audit):

### 📊 WCAG 2.0 AA Diagnostics
* **WCAG Rating:** [Compliant / Partial / Non-compliant]
* **Primary Barrier:** [the worst offender — one sentence, e.g. "3 images missing alt text and one h2→h4 heading skip on the landing page."]

### 🔍 Findings & HAX Remediation

* **{page slug / page-level / site-level} — {WCAG criterion}**
  * **Status:** [Fail / Partial / Pass-with-advisory]
  * **Issue:** [the exact failing markup, with the measured signal, e.g. "media-image at line 42 has alt='' but the image conveys the chart data — missing text alternative."]
  * **WCAG Rationale:** [cite the criterion and why it blocks access, e.g. "1.1.1 Non-text Content: informative images must have a text alternative so screen-reader users perceive the same information."]
  * **HAX Remediation:** [real component swap OR plain-HTML fix, e.g. "Add descriptive alt text to the media-image (alt='Bar chart: enrollment doubled from 2019 to 2024'). For complex diagrams, add a long description in a stop-note below."] OR "Hand off to hax-media-a11y for caption depth."]

* **{page slug / page-level / site-level} — {WCAG criterion}**
  * ...

### 🛠 Implementation handoff
* [one-line action per fix → skill/CLI, e.g. "Fix alt text on 3 media-image elements in pages/landing.html via /hax or direct edit."]

Worked example

Input — a HAX page (pages/intro.html) containing:

html
<h2>Introduction</h2>
<p>Welcome to the course. <a href="/syllabus">Click here</a> for the syllabus.</p>
<media-image
  source="files/enrollment-chart.png"
  alt="">
</media-image>
<h4>Course goals</h4>
<p>By the end you will...</p>
<label>Search</label>
<input type="text" name="q">

Output:

### 📊 WCAG 2.0 AA Diagnostics
* **WCAG Rating:** Partial
* **Primary Barrier:** Missing image alt text, an ambiguous "Click here" link, an h2→h4
  heading skip, and an unlabelled input — four Level A failures on one page.

### 🔍 Findings & HAX Remediation

* **Page "intro" — 1.1.1 Non-text Content**
  * **Status:** Fail
  * **Issue:** `media-image` (source="files/enrollment-chart.png") has `alt=""`, marking it
    decorative, but the image conveys enrollment data that is not present in the surrounding
    text.
  * **WCAG Rationale:** 1.1.1 requires that informative non-text content has a text
    alternative. An empty alt hides the chart from screen-reader users entirely.
  * **HAX Remediation:** Add descriptive alt text (`alt="Bar chart: enrollment doubled from
    2019 to 2024"`). For the chart, also add a `stop-note` below with a fuller data summary,
    or swap to `a11y-figure` with a `caption` slot for the long description.

* **Page "intro" — 2.4.4 Link Purpose (In Context)**
  * **Status:** Fail
  * **Issue:** Link text is "Click here" with href="/syllabus". The destination is not
    apparent from the link text.
  * **WCAG Rationale:** 2.4.4 requires that each link's purpose be clear from the link text
    alone (or link text + context). "Click here" tells a screen-reader user nothing when
    navigating by link list.
  * **HAX Remediation:** Plain-HTML fix — change the link text to "Read the syllabus" in
    `pages/intro.html`. No component swap needed.

* **Page "intro" — 1.3.1 Info and Relationships (headings)**
  * **Status:** Fail
  * **Issue:** Heading order skips from `h2` ("Introduction") to `h4` ("Course goals") with
    no `h3`. Also, there is no `h1` on the page — the first heading is an `h2`.
  * **WCAG Rationale:** 1.3.1 requires that heading relationships are programmatically
    correct. Skipped levels and a missing `h1` break screen-reader navigation by headings.
  * **HAX Remediation:** Plain-HTML fix — add an `h1` page title at the top of
    `pages/intro.html`, and change the `h4` to `h3` so the order is h1 → h2 → h3.

* **Page "intro" — 3.3.2 Labels or Instructions**
  * **Status:** Fail
  * **Issue:** The `<input type="text" name="q">` has a `<label>Search</label>` but the label
    is not programmatically associated — there is no `for` attribute linking the label to the
    input.
  * **WCAG Rationale:** 3.3.2 requires that form fields have programmatic labels. An
    unassociated `<label>` does not expose the field name to assistive technology.
  * **HAX Remediation:** Plain-HTML fix — add `for="q"` to the label and `id="q"` to the
    input. Or swap to `simple-fields` which bakes in the label/field association
    automatically and is the HAX-preferred input ecosystem.

### 🛠 Implementation handoff
* 1.1.1: add descriptive alt to the media-image in pages/intro.html (direct edit or /hax).
* 2.4.4: change "Click here" → "Read the syllabus" in pages/intro.html (direct edit).
* 1.3.1: add h1 page title, fix h4→h3 in pages/intro.html (direct edit).
* 3.3.2: associate the label (for/id) or swap to simple-fields via /hax.
* Confirm DDD token contrast on any restyled elements via hax-design-system.

Implementing the Recommendations

This audit is the diagnosis step. Apply fixes with the related skills and the hax CLI:

  • hax-claudehax — insert/replace components in existing pages:
    • /hax replace the unlabelled input in <page> with a simple-fields search input
    • /hax add an accessible figure with caption to <page> using a11y-figure
  • hax-site-building — owns page structure; edit page content at pages/<slug>.html directly for plain-HTML fixes (alt text, headings, landmarks, link text, table markup, label association); add pages via hax site node:add --title "<t>" --slug "<s>" --content <path> --format html --y --no-i (single) or hax site site:items-import --items-import <items.json> --y --no-i (bulk); verify with hax site site:items. Never hand-edit site.json.
  • hax-design-system — DDD tokens for spacing, color, icon sizing on any inserted component; and pure token-usage compliance (did the author use a DDD token at all?).
  • hax-media-a11y — media DEPTH: caption quality/timing/accuracy, transcript fidelity, audio-description authoring/coverage, asset production. This skill flags media caption/transcript/audio-description presence (WCAG 1.2) and hands off to hax-media-a11y for depth.
  • hax-webcomponent-dev — component-INTERNAL accessibility (a custom element's own shadow DOM ARIA/keyboard/tabindex).
  • hax-udl-audit — if the user's real concern is pedagogical inclusivity (multiple means of reaching diverse learners), not technical WCAG compliance, defer to UDL.
  • hax-content-chunking-audit — if the page is a wall of text (cognitive load), defer to chunking.

CLI rules (from PRAW RULES.md):

  • Use the local/global hax command — not npx hax (resolves to a different package).
  • When scripting, pass automation flags to avoid prompts/new windows: --y --no-i (add --auto / --quiet / --skip as needed).
  • Never hand-edit site.json for structure — use the CLI.
  • a11y-collapse MUST set heading-button.
  • Audio via media-playlist + audio-player; inputs via simple-fields; tables via editable-table / editable-table-display; educational elements get oer-schema metadata.

Acceptance criteria (for the audit report itself)

  • Every finding cites the WCAG 2.0 AA criterion (e.g. "1.1.1 Non-text Content") and a real HAX component swap or plain-HTML fix.
  • No recommended component is outside the verified registry in references/a11y-element-map.md.
  • The rating is one of: Compliant / Partial / Non-compliant.
  • Contrast findings report the actual computed ratio and the token pair (not a vague "looks low").
  • Media findings distinguish presence (this skill's scope — WCAG 1.2) from depth (hax-media-a11y's scope) and hand off depth explicitly.
  • A page with zero heading failures, zero missing alt texts, and zero ambiguous links is not rated Non-compliant unless a structural barrier (no main landmark, keyboard trap, sub-3:1 body contrast, zero media alternatives) is present.

Gotchas

  • Decorative images get alt="", not missing alt. A missing alt attribute is a failure (some screen readers read the filename). An empty alt="" is correct for decorative images. Do not flag alt="" on a genuinely decorative simple-icon-lite; do flag it on an informative media-image.
  • Junk alt is as bad as missing alt. alt="image", alt="placeholder", alt="arrow" convey no information. Flag them the same as missing alt.
  • Contrast is about the token pair, not the tag. This skill computes the ratio between the text-color token and background-color token the page actually uses. If the author hardcoded a hex color instead of a token, note it but defer the token-usage compliance to hax-design-system — do not double-report.
  • Media presence vs. media depth. This skill checks whether a track exists on a video-player. Whether the captions are accurate, well-timed, or complete is hax-media-a11y's job. Do not attempt to evaluate caption quality here — flag the presence gap and hand off.
  • Heading order, not heading count. A page can have many headings and be Compliant; the issue is skipped levels and a missing h1. Do not flag a well-structured page with many h3s.
  • Native semantics usually do not need ARIA. <button> already has the button role; adding role="button" is redundant (flag it). <nav> already implies a navigation landmark. Only add ARIA when the native semantics are insufficient.
  • Never recommend legacy/third-party tags. instruction-card, lrndesign-sidenote, link-preview, and model-viewer appear in older courses but are not in the current monorepo — use the alternatives in the element map.
  • Don't edit here. This skill emits a report. Plain-HTML edits belong in pages/<slug>.html (via hax-site-building or direct edit); component swaps belong via hax-claudehax; structural edits belong to the hax CLI.

Dependencies

  • Reads: site.json / pages/*.html / a single JOS node / raw HTML / markdown
  • Consults: references/a11y-element-map.md (the verified component map — single source of truth)
  • Hands off to: hax-claudehax / hax-site-building (insertion + plain-HTML edits), hax-design-system (DDD tokens + token-usage compliance), hax-media-a11y (media depth — symmetric overlap partner), hax-webcomponent-dev (component-internal a11y)
  • Defers to: hax-udl-audit (pedagogical inclusivity), hax-content-chunking-audit (cognitive load), hax-ubd-unit-audit (unit alignment), grad-blooms (cognitive level)

References

  • references/a11y-element-map.md — WCAG failure → HAX component swap / plain-HTML fix map (verified tags only; the iron rule)
  • PRAW RULES.md: ~/Documents/git/haxtheweb/praw/RULES.md
  • W3C (2008). Web Content Accessibility Guidelines (WCAG) 2.0. https://www.w3.org/TR/WCAG20/
  • W3C (2023). WCAG 2.0 Quick Reference. https://www.w3.org/WAI/WCAG20/quickref/

© haxtheweb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .well-known/agent-skills/hax-a11y-audit of haxtheweb/haxcms-php.

  • SKILL.md
  • evals/evals.json
  • references/a11y-element-map.md

Open the folder on GitHubat commit 3542096

Compare with similar skills

Hax A11y Audit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Hax A11y Audit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Hax A11y Audit this skillhaxtheweb/haxcms-php130—~5.5kAutomated safety check: PassMIT
Web Interface Guidelines Reviewervercel-labs/openreview1.7k97 repos~308Automated safety check: PassNone
Accessibility Reviewmarkmead/hyperui12k1 repos~1.1kAutomated safety check: PassMIT
Web Animation DesignbaptisteArno/typebot.io11k2 repos~2.7kAutomated safety check: PassCustom licence
Accessibility Fixeribelick/ui-skills9.6k4 repos~1.2kAutomated safety check: PassMIT
Wcag Audit PatternsvmDeshpande/ai-agent-automation17811 repos~610Automated safety check: PassApache-2.0

Similar skills

  • Web Interface Guidelines Reviewer

    vercel-labs/openreview

    Official

    Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…

    1.7k GitHub starsUsed in 97 repos~308 tokens
    Frontend & DesignAuto-check passed
  • Accessibility Review

    markmead/hyperui

    Run a WCAG 2.1 AA accessibility audit on a design or page. An agent skill from markmead/hyperui.

    12k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Web Animation Design

    baptisteArno/typebot.io

    Guides easing, timing and animation choices for UI motion, based on a web animation course, and reviews existing animations in a before-and-after table.

    11k GitHub starsUsed in 2 repos~2.7k tokens
    Frontend & DesignAuto-check passed
  • Accessibility Fixer

    ibelick/ui-skills

    Audits and fixes HTML accessibility problems such as ARIA labels, keyboard navigation, focus management, contrast and form errors with minimal changes.

    9.6k GitHub starsUsed in 4 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • Wcag Audit Patterns

    vmDeshpande/ai-agent-automation

    Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance.

    178 GitHub starsUsed in 11 repos~610 tokens
    Frontend & DesignAuto-check passed
  • Baseline UI

    ibelick/ui-skills

    Applies a fixed set of UI rules for stack, components, interaction, animation, typography and layout, or reviews a file against them with concrete fixes.

    9.6k GitHub starsUsed in 8 repos~855 tokens
    Frontend & DesignAuto-check passed

More from haxtheweb/haxcms-php

All 18 skills in this repo
  • Ddev

    haxtheweb/haxcms-php

    DDEV local development environment guidance for Docker-based PHP/Node projects.

    130 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Hax Design System

    haxtheweb/haxcms-php

    Apply the DDD (Design, Develop, Destroy) design system and manage SimpleColors legacy usage.

    130 GitHub stars~836 tokensUpdated yesterday
    Auto-check passed
  • Hax Ubd Backward Design

    haxtheweb/haxcms-php

    Design HAX course units via Understanding by Design (UbD) backward design — start from desired results, derive acceptable evidence, then plan learning experiences.

    130 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Hax Udl Audit

    haxtheweb/haxcms-php

    READ-ONLY diagnostic: review a HAX site/page against Universal Design for Learning (UDL) 3.0 — multiple means of Engagement, Representation, and Action & Expression — and emit a report with…

    130 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Haxcms Lrs Rater

    haxtheweb/haxcms-php

    Run BookLooky's Looky Rating System (LRS) content rating and minimum-age recommendation on a HAXcms site's aggregated content — either a local site checkout or a live published URL like btopro.com —…

    130 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Oerschema Integration Finder

    haxtheweb/haxcms-php

    READ-ONLY diagnostic: scan HAX webcomponents, themes, CMS backends (PHP/NodeJS HAXcms), the VitePress plugin, and the Google Apps Script add-on for code surfaces that render or consume pedagogical…

    130 GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed

Questions about Hax A11y Audit

What does Hax A11y Audit do?

READ-ONLY diagnostic: review authored HAX page/site content against WCAG 2.0 AA (image alt text, heading hierarchy, landmark structure, link text, form labels, color contrast, media…. Hax A11y Audit is an agent skill from haxtheweb/haxcms-php.0 AA (image alt text, heading hierarchy, landmark structure, link text, form labels, color contrast, media caption/transcript/audio-description presence, keyboard/focus, ARIA correctness, data-table markup, list semantics) and emit a report with actionable HAX web-component + plain-HTML remediation.

When should I use Hax A11y Audit?

Hax A11y Audit fits situations like: the user says is this accessible; check my page for accessibility; does this meet WCAG 2.0 AA; screen reader test.

How do I install Hax A11y Audit in Claude Code?

Run `npx skills add haxtheweb/haxcms-php --skill hax-a11y-audit -a claude-code`. Or copy the skill folder (.well-known/agent-skills/hax-a11y-audit in haxtheweb/haxcms-php) into .claude/skills/hax-a11y-audit in your project. Claude Code loads it when a task matches its description.

How do I install Hax A11y Audit in Codex?

Run `npx skills add haxtheweb/haxcms-php --skill hax-a11y-audit -a codex`. Or copy the skill folder (.well-known/agent-skills/hax-a11y-audit in haxtheweb/haxcms-php) into .agents/skills/hax-a11y-audit in your project. Codex loads it when a task matches its description.

Can I use Hax A11y Audit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add haxtheweb/haxcms-php --skill hax-a11y-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hax-a11y-audit, .gemini/skills/hax-a11y-audit, .github/skills/hax-a11y-audit and .opencode/skills/hax-a11y-audit in your project.

What does Hax A11y Audit need to run?

Going by SKILL.md and its folder, Hax A11y Audit needs the command-line tools its instructions call (npx).

Does Hax A11y Audit access the network?

SKILL.md names 1 domain. As links in the text: w3.org. This is read from the text; nothing was executed.

Is Hax A11y Audit safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Hax A11y Audit use?

Hax A11y Audit is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Hax A11y Audit use?

About 5.5k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.4k tokens, read only when the agent opens those files.

What are the alternatives to Hax A11y Audit?

Skills that share tags, products or a category with Hax A11y Audit: Web Interface Guidelines Reviewer (vercel-labs/openreview, 1.7k stars), Accessibility Review (markmead/hyperui, 12k stars), Web Animation Design (baptisteArno/typebot.io, 11k stars) and Accessibility Fixer (ibelick/ui-skills, 9.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Hax A11y Audit?

haxtheweb (a GitHub organization) maintains it in haxtheweb/haxcms-php, which has 130 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 10, 2026.

Source: haxtheweb/haxcms-php on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.