Agent skill

Accessibility Perceivable

by hashgraph-online in hashgraph-online/awesome-codex-plugins

A skill your agent uses when the question is whether users can perceive the content — see it, hear it, or feel it — regardless of impairment.

Apache-2.0Auto-check passedFrontend & Design

Install Accessibility Perceivable

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill accessibility-perceivable -a claude-code

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

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins accessibility-perceivable --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/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/HDeibler/universal-design-principles/plugins/process-and-robustness-principles/skills/accessibility-perceivable .claude/skills/accessibility-perceivable && 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
accessibility-perceivable
GitHub stars
1.2k
Token cost
~2.9k tokens
SKILL.md length
978 words
Files
2 (incl. references)
Skills in repo
686
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when the question is whether users can perceive the content — see it, hear it, or feel it — regardless of impairment.

  • Works in 4 steps: Text alternatives → Time-based media → Adaptable → …
  • The question is whether users can perceive the content — see it
  • SKILL.md covers 1. Text alternatives, 2. Time-based media, 3. Adaptable and 4. Distinguishable, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Accessibility Perceivable is an agent skill from hashgraph-online/awesome-codex-plugins. Use this skill when the question is whether users can perceive the content — see it, hear it, or feel it — regardless of impairment. Trigger when designing color systems, picking text sizes, building image-heavy surfaces, working with video/audio, designing for low-vision users, or running an accessibility audit. Covers WCAG Principle 1 (Perceivable). Sub-aspect of accessibility; read that first if you haven't already.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/perceivable-deep-dive.md`).

It sits in Frontend & Design, covering Accessibility. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.

When your agent uses it

  • The question is whether users can perceive the content — see it
  • Feel it — regardless of impairment
  • Designing color systems
  • Picking text sizes

Example prompts

  • “/accessibility-perceivable”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Text alternatives
  2. Time-based media
  3. Adaptable
  4. Distinguishable

What it can do on your machine

Read from SKILL.md and the folder at commit 78497e5. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are html and css).

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

  • Network

    No URLs in SKILL.md.

    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

Accessibility Perceivable loads about 2.9k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 113 tokens; SKILL.md has 978 words of instructions outside code blocks.

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

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 hashgraph-online/awesome-codex-plugins at commit 78497e5, republished under its Apache-2.0 licence (© hashgraph-online). 978 words, ~2,860 tokens.

Download SKILL.mdSave it as .claude/skills/accessibility-perceivable/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
accessibility-perceivable
description
Use this skill when the question is whether users can *perceive* the content — see it, hear it, or feel it — regardless of impairment. Trigger when designing color systems, picking text sizes, building image-heavy surfaces, working with video/audio, designing for low-vision users, or running an accessibility audit. Covers WCAG Principle 1 (Perceivable). Sub-aspect of `accessibility`; read that first if you haven't already.

Accessibility — Perceivable

WCAG Principle 1: information and user-interface components must be presentable to users in ways they can perceive.

The four sub-criteria, simplified:

  1. Text alternatives for non-text content.
  2. Time-based media (audio/video) has alternatives.
  3. Adaptable content can be presented in different ways without losing structure.
  4. Distinguishable — color contrast, audio control, text resizing.

This skill covers each in practical detail.

1. Text alternatives

Images

Every image gets alternative text describing what's relevant about it. The right alt text depends on the image's role:

html
<!-- Informative: describe what the user needs to know -->
<img src="/dashboard-screenshot.png"
     alt="Dashboard showing $48,200 monthly revenue, up 12% from last month." />

<!-- Functional (image as link / button): describe the action -->
<a href="/profile">
  <img src="/avatar.png" alt="Open your profile" />
</a>

<!-- Decorative: empty alt so screen readers skip -->
<img src="/decorative-pattern.svg" alt="" aria-hidden="true" />

<!-- Complex (chart, infographic): brief alt + linked long description -->
<figure>
  <img src="/sales-chart.png"
       alt="Quarterly sales chart, see description below."
       aria-describedby="chart-desc" />
  <figcaption id="chart-desc">
    Sales rose from $12k in Q1 to $58k in Q4, with a dip to $31k in Q3 caused
    by a supply chain interruption.
  </figcaption>
</figure>

Common mistakes:

  • alt="image" or alt="photo of woman" — describes the file type, not the meaning.
  • Decorative images with non-empty alt — screen reader users hear "decorative-pattern-3-svg" announced as content.
  • Long alt text on simple images — alt should be ≤ 125 characters; longer goes in <figcaption> or linked description.
Icons

Icon-only buttons need an accessible name. Two patterns:

html
<!-- Pattern A: aria-label on the button -->
<button aria-label="Close">
  <svg aria-hidden="true">...</svg>
</button>

<!-- Pattern B: visually-hidden text -->
<button>
  <svg aria-hidden="true">...</svg>
  <span class="sr-only">Close</span>
</button>

Either is fine; pattern B can be more reliable across screen readers. The sr-only class:

css
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
Decorative SVG
html
<svg aria-hidden="true" focusable="false">...</svg>

aria-hidden removes from accessibility tree; focusable="false" prevents keyboard focus on the SVG (some browsers focus SVGs by default).

2. Time-based media

Video
  • Captions for all spoken content. Auto-generated captions are a starting point; review for accuracy.
  • Audio descriptions for visual content not conveyed by audio (a chart appearing on screen, a character action shown but not narrated).
  • Transcripts as text alternatives for anyone who can't watch.
Audio
  • Transcripts for podcasts, interviews, voicemails.
  • Captions or transcripts for any audio-only message in the UI.
Auto-playing media

Don't autoplay video or audio with sound. WCAG 1.4.2 requires that audio playing for more than 3 seconds either:

  • Has a pause/stop control, or
  • Has a volume control independent of system volume.

Better: don't autoplay sound at all. It's hostile to users with hearing aids, in public spaces, or sharing audio output.

3. Adaptable

Semantic structure

Use HTML elements for what they're for. Heading order matters; landmarks matter; lists matter.

html
<!-- Right -->
<main>
  <h1>Dashboard</h1>
  <section aria-labelledby="kpi-heading">
    <h2 id="kpi-heading">This month</h2>
    <ul>
      <li>Revenue: $48k</li>
      <li>Users: 12,481</li>
    </ul>
  </section>
</main>

<!-- Wrong: divs everywhere, no structure -->
<div>
  <div>Dashboard</div>
  <div>This month</div>
  <div>Revenue: $48k</div>
  <div>Users: 12,481</div>
</div>

Screen readers navigate by headings (H key in NVDA), landmarks (R key), lists, links. Without semantic structure, navigation falls apart.

Heading order

Don't skip heading levels. Page structure:

<h1>Page title (one per page)
  <h2>Section
    <h3>Subsection
      <h4>Sub-subsection

Going from <h1> to <h3> confuses assistive tech. If the visual size you want for an <h2> is too large, restyle the <h2> — don't reach for <h3> to get smaller text.

Reading order

Source order in HTML should match visual reading order. CSS Grid and Flexbox can rearrange visually, but screen readers follow source order.

html
<!-- Source order matches visual order: title, then summary, then details -->
<article>
  <h2>Article title</h2>
  <p class="summary">Brief summary.</p>
  <p>Detailed body...</p>
</article>

<!-- Wrong: visually rearranged but source order is now confusing -->
<article style="display: flex; flex-direction: column-reverse;">
  <p>Detailed body...</p>
  <p>Summary.</p>
  <h2>Title</h2>
</article>
Programmatic relationships

Use <label for>, aria-labelledby, aria-describedby to expose visual relationships to assistive tech.

html
<div>
  <label for="email">Email</label>
  <input id="email" aria-describedby="email-help" />
  <p id="email-help">We'll never share this.</p>
</div>

The label is associated; the help text is associated. A screen reader announces all three together.

4. Distinguishable

Color contrast

WCAG ratios:

ContentLevel AALevel AAA
Body text (< 18pt regular or < 14pt bold)4.5:17:1
Large text (≥ 18pt regular or ≥ 14pt bold)3:14.5:1
UI components and graphical objects3:1(no AAA)
Disabled / inactive elements(exempt)(exempt)

Test every text-on-background combination. Common failures:

  • Light grey body text (#999 on white = 2.85:1, fails AA).
  • Brand-color body links (#1e90ff on white = 3.4:1, fails AA for body text).
  • Placeholder text in inputs (often muted to look "less important," ends up unreadable).

Tools: WebAIM Contrast Checker, Stark plugin, Chrome DevTools' contrast inspector.

Color not the only signal

WCAG 1.4.1: don't use color alone to convey information. Pair with icon, text, pattern, or position.

html
<!-- Wrong: red border = error, but if red isn't perceivable, no signal -->
<input style="border: 2px solid red" />

<!-- Right: red border + icon + descriptive text -->
<div class="field" data-state="error">
  <label for="email">Email</label>
  <input id="email" aria-invalid="true" aria-describedby="email-error" />
  <p id="email-error">
    <AlertIcon aria-hidden="true" /> Please enter a valid email.
  </p>
</div>
Text resize

WCAG 1.4.4: text must be resizable up to 200% without loss of content or functionality. Test:

  • Browser zoom at 200% — does content reflow without horizontal scroll?
  • Text size only at 200% (Firefox supports text-only zoom) — does the layout survive?

Use relative units (rem, em, %) for type sizes; avoid px for body text. Use vw/vh cautiously — they don't scale with text size.

Show full SKILL.md (378 more words)Show less
Reflow

WCAG 1.4.10 (Level AA): content reflows to a 320 CSS-pixel-wide viewport without requiring horizontal scrolling. Equivalent to 400% zoom on a 1280px viewport.

Practical test: open the design in DevTools at 320px wide and 1280px wide. Anything that requires sideways scroll for primary content fails.

Images of text

Avoid embedding text in images (which can't be resized, restyled, or read by screen readers). Render text as text wherever possible. SVG with <text> elements is OK because it scales and can be read; raster images of text aren't.

Non-color content

Patterns, textures, position, shape — non-color signals carry meaning for color-blind users:

html
<!-- Chart series with color + pattern -->
<svg>
  <rect fill="url(#solid-blue)" />     <!-- Series A: solid blue -->
  <rect fill="url(#striped-blue)" />   <!-- Series B: striped blue -->
  <rect fill="url(#dotted-blue)" />    <!-- Series C: dotted blue -->
</svg>

Even users who can perceive color benefit from redundant signals.

Worked example: an accessible status badge system

html
<style>
  .badge { display: inline-flex; align-items: center; gap: 4px;
           padding: 2px 8px; border-radius: 9999px;
           font-size: 12px; font-weight: 500; }
  .badge--success { background: hsl(142 70% 95%); color: hsl(142 70% 22%); }
  .badge--warning { background: hsl(38 95% 95%); color: hsl(38 90% 25%); }
  .badge--error   { background: hsl(0 80% 95%); color: hsl(0 75% 32%); }
</style>

<span class="badge badge--success">
  <CheckIcon aria-hidden="true" /> Paid
</span>
<span class="badge badge--warning">
  <ClockIcon aria-hidden="true" /> Pending
</span>
<span class="badge badge--error">
  <AlertIcon aria-hidden="true" /> Overdue
</span>

What's working:

  • Color + icon + text — three signals.
  • Contrast ratios above 7:1 for both color combinations (verified in a contrast checker).
  • Icons have aria-hidden since the text already conveys meaning.
  • Background color tinted, foreground darkened, both relative to a hue rather than using full saturation (preserves AA contrast).

Anti-patterns

  • alt="image" or alt="" on informative images. Screen reader users get nothing.
  • Color-only error states. A red border with no text or icon. Color-blind users perceive no error.
  • Pale-grey body text for elegance. Below 4.5:1 contrast — looks polished, fails AA, exhausts users with low vision.
  • Auto-playing video with sound. Hostile to users in shared spaces, with hearing aids, on subway commutes.
  • Heading shenanigans. Using <h2> for "I want this size" rather than for structural meaning. Leaves <h1> missing or <h2> skipped.

Heuristics

  1. The contrast checker pass. Every text-on-background pair, every UI-element-against-background pair. Body must clear 4.5:1; large text and UI 3:1.
  2. The grayscale pass. Take a screenshot, convert to grayscale. Do all status indicators still parse?
  3. The 200% zoom test. Browser zoom to 200%. Layout survives? Buttons still hittable? No content lost?
  4. The screen-reader pass. With VoiceOver / NVDA / TalkBack, walk a critical flow. Listen for unlabeled controls, announced as "blank," missing state.
  5. The image audit. Every <img>. Alt text describes what the user needs to know. Decorative images have empty alt.
  • accessibility (parent).
  • accessibility-operable — keyboard reach and target size.
  • accessibility-understandable — labels, copy, predictability.
  • accessibility-robust — semantic markup and ARIA.
  • color and hierarchy-color-and-tone (perception) — color decisions that respect contrast.
  • legibility and readability (perception) — type decisions that aid perception.

© hashgraph-online, Apache-2.0. 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 1 other file (references) in plugins/HDeibler/universal-design-principles/plugins/process-and-robustness-principles/skills/accessibility-perceivable of hashgraph-online/awesome-codex-plugins.

  • SKILL.md
  • references/perceivable-deep-dive.md

Open the folder on GitHubat commit 78497e5

Compare with similar skills

Accessibility Perceivable 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.

Accessibility Perceivable compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Accessibility Perceivable this skillhashgraph-online/awesome-codex-plugins1.2k—~2.9kAutomated safety check: PassApache-2.0
Web Interface Guidelines Reviewervercel-labs/openreview1.7k98 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.5k4 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 98 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.5k 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.5k GitHub starsUsed in 8 repos~855 tokens
    Frontend & DesignAuto-check passed

More from hashgraph-online/awesome-codex-plugins

All 686 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.2k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.2k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.2k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.2k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.2k GitHub stars~618 tokensUpdated today
    Auto-check passed
  • Manuscript Engagement Analytics

    hashgraph-online/awesome-codex-plugins

    Analyze nonfiction manuscripts for reader engagement signals, including heading-level word counts, slow starts, long slogs, weak takeaway titles, value pacing, beta-reader comment dropoff, and…

    1.2k GitHub stars~875 tokensUpdated today
    Auto-check passed

Questions about Accessibility Perceivable

What does Accessibility Perceivable do?

A skill your agent uses when the question is whether users can perceive the content — see it, hear it, or feel it — regardless of impairment. Accessibility Perceivable is an agent skill from hashgraph-online/awesome-codex-plugins. Use this skill when the question is whether users can perceive the content — see it, hear it, or feel it — regardless of impairment.

When should I use Accessibility Perceivable?

Accessibility Perceivable fits situations like: the question is whether users can perceive the content — see it; feel it — regardless of impairment; designing color systems; picking text sizes.

How do I install Accessibility Perceivable in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill accessibility-perceivable -a claude-code`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/process-and-robustness-principles/skills/accessibility-perceivable in hashgraph-online/awesome-codex-plugins) into .claude/skills/accessibility-perceivable in your project. Claude Code loads it when a task matches its description.

How do I install Accessibility Perceivable in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill accessibility-perceivable -a codex`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/process-and-robustness-principles/skills/accessibility-perceivable in hashgraph-online/awesome-codex-plugins) into .agents/skills/accessibility-perceivable in your project. Codex loads it when a task matches its description.

Can I use Accessibility Perceivable 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 hashgraph-online/awesome-codex-plugins --skill accessibility-perceivable -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/accessibility-perceivable, .gemini/skills/accessibility-perceivable, .github/skills/accessibility-perceivable and .opencode/skills/accessibility-perceivable in your project.

What does Accessibility Perceivable need to run?

SKILL.md names no scripts, command-line tools or credentials: Accessibility Perceivable is instructions for the agent only.

Does Accessibility Perceivable access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Accessibility Perceivable 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 Accessibility Perceivable use?

Accessibility Perceivable is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Accessibility Perceivable use?

About 2.9k tokens (SKILL.md is roughly 11k 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 1.3k tokens, read only when the agent opens those files.

What are the alternatives to Accessibility Perceivable?

Skills that share tags, products or a category with Accessibility Perceivable: 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.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Accessibility Perceivable?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,242 GitHub stars. The repository holds 686 skills in this directory. The repository was last updated on October 8, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.