accessibility
Use when building or reviewing any user surface for accessibility — keyboard operability, focus management, contrast ratios, semantic markup and screen reader support, hit-target sizing, reduced motion — or when auditing an existing UI against WCAG-level expectations.
- License 许可
- MIT
- 最近更新
- 2026-11-10
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- accessibility
- metadata
- { "owner": "tze", "status": "active", "authors": [ "tze", "Claude Fable 5" ], "last_reviewed": "2026-07-03" }
- description
- Use when building or reviewing any user surface for accessibility — keyboard operability, focus management, contrast ratios, semantic markup and screen reader support, hit-target sizing, reduced motion — or when auditing an existing UI against WCAG-level expectations.
02 资源文件 1
03 SKILL.md 正文
Accessibility
Accessible by default: designed in from the first draft, verified before ship. The bar is WCAG 2.2 AA as a floor, applied with judgment — a retrofitted accessibility pass is itself a finding against the process.
Use This Skill When
- Building any new user surface (web, TUI, CLI output) — apply during design, not after
- Auditing an existing UI for keyboard, contrast, or screen-reader gaps
- Reviewing a PR that adds or changes interactive elements
- Answering "is this accessible enough to ship"
Example trigger phrasings: "audit accessibility", "contrast check", "does this work with a screen reader", "keyboard navigation is broken", "is this WCAG compliant".
Do Not Use This Skill For
- Keyboard ergonomics beyond operability (chords, palettes) — discoverability
- Choosing the palette's meanings — visual-language (this skill constrains those choices)
Reviewable Expectations
Keyboard
- Everything operable by keyboard alone: every action reachable, every widget usable, no pointer-only interactions (hover-only menus, drag-only reorder without an alternative).
- Focus is always visible (a real focus ring — never
outline: nonewithout replacement), tab order follows reading order, focus never gets trapped. - Modals: focus moves in on open, returns to the trigger on close, Esc closes.
- TUI/CLI count too: interactive terminal UIs need the same complete keyboard paths and visible focus/selection state.
Contrast and color
- Text ≥ 4.5:1 against its background (3:1 for large text); interactive component boundaries and icons ≥ 3:1. Verify with a checker, don't eyeball.
- Both themes verified: a palette that passes in dark mode and fails in light mode fails.
- Color is never the only signal: pair state colors with an icon, label, or position (visual-language enforces the same rule from the palette side).
Semantics
- Native elements first:
<button>,<a>,<label>,<table>, headings in order. ARIA only to fill genuine gaps — adivwith a click handler is a defect, not a style choice. - Icon-only controls carry an accessible name (
aria-labelor equivalent); images that inform carry alt text; decorative ones are hidden from the tree. - Dynamic results are announced: async completions, optimistic updates, and
validation errors reach the screen reader (
aria-live/status regions), not just the pixels — the snappy patterns in interaction-speed must stay perceivable without sight.
Ergonomic floor
- Hit targets ≥ 44×44 CSS px (Apple HIG) / 48dp (Material) on touch; WCAG 2.2 AA (2.5.8) sets the hard minimum at 24×24. Generous click areas everywhere (whole row, not just the 12px icon).
prefers-reduced-motion(or platform equivalent) honored: animations reduce to instant state changes. This skill owns the rule; visual-language defers here.- Text resizes to 200% without loss of content or function (1.4.4); content reflows without horizontal scrolling down to a 320px viewport / 400% zoom (1.4.10).
Review Method
- Unplug the mouse: complete the primary flows by keyboard alone; note every dead end and invisible focus stop.
- Run a contrast check over the token palette (both themes); cite failing pairs with ratios.
- Grep interactive markup for defect patterns —
onClickon non-semantic elements,outline: none, icon buttons without labels, missingalt— cite file:line. - Screen-reader pass on the primary flow (or static-analysis equivalent when a reader isn't available): names, roles, announcements present.
No built UI yet? Apply the same expectations to the spec's described behavior; evidence cites the spec section or screen region.
Severity follows blast radius: an unlabeled primary action outranks a low-contrast footnote. Fix in scope now, per design-bar.
04 同仓库更多 Skills
user-run
Use when a step needs privileges this session lacks (docker, sudo, another user's checkout or secrets, host access) and the owner must run it as tze. Writes a reviewable /home/orca/.tmp/<slug>/run.sh that impersonates tze (USER_TO_IMPERSONATE overrides), tees timestamped logs plus latest.log and collects artifacts there; Claude presents it with a risk and time brief, then continues from the logs. Triggers: "I'll run it for you", "permission denied on docker.sock", "needs sudo", "sudo: a password is required", "run as tze", "/user-run".
requesting-code-review
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
receiving-code-review
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation
finishing-a-development-branch
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
executing-plans
Use when you have a written implementation plan to execute in a separate session with review checkpoints
dispatching-parallel-agents
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies