accessibility
OfficialWCAG 2.2 レベル AA 標準を用いてインクルーシブなデジタルプロダクトを設計・実装・監査します。Web 用のセマンティック ARIA および Web・ネイティブプラットフォーム(iOS/Android)のアクセシビリティトレイトを生成するために使用します。
What this skill does
When applied, it prepends a system prompt before your request is sent — no extra calls and no change to how you are billed beyond the added tokens.
---
name: accessibility
description: WCAG 2.2 レベル AA 標準を用いてインクルーシブなデジタルプロダクトを設計・実装・監査します。Web 用のセマンティック ARIA および Web・ネイティブプラットフォーム(iOS/Android)のアクセシビリティトレイトを生成するために使用します。
origin: ECC
---
# アクセシビリティ(WCAG 2.2)
このスキルは、スクリーンリーダー、スイッチコントロール、キーボードナビゲーションを使用するユーザーを含む、すべてのユーザーにとってデジタルインターフェースが知覚可能・操作可能・理解可能・堅牢(POUR)であることを保証します。WCAG 2.2 達成基準の技術的な実装に焦点を当てています。
## 使用タイミング
- Web、iOS、Android 向け UI コンポーネント仕様の定義。
- アクセシビリティの障壁やコンプライアンスのギャップについて既存コードを監査する。
- Target Size(最小)や Focus Appearance など新しい WCAG 2.2 基準を実装する。
- 高水準な設計要件を技術属性(ARIA ロール、トレイト、ヒント)にマッピングする。
## コアコンセプト
- **POUR 原則**: WCAG の基盤(知覚可能・操作可能・理解可能・堅牢)。
- **セマンティックマッピング**: 汎用コンテナよりネイティブ要素を使用して組み込みのアクセシビリティを提供する。
- **アクセシビリティツリー**: 支援技術が実際に「読み取る」UI の表現。
- **フォーカス管理**: キーボード・スクリーンリーダーカーソルの順序と可視性を制御する。
- **ラベリングとヒント**: `aria-label`、`accessibilityLabel`、`contentDescription` を通じてコンテキストを提供する。
## 仕組み
### ステップ 1: コンポーネントロールの特定
機能的な目的を決定します(例:これはボタンか、リンクか、タブか)。カスタムロールに頼る前に、利用可能な最もセマンティックなネイティブ要素を使用します。
### ステップ 2: 知覚可能属性の定義
- テキストのコントラストが **4.5:1**(通常)または **3:1**(大きいテキスト・UI)を満たすことを確認。
- 非テキストコンテンツ(画像、アイコン)にテキスト代替を追加。
- レスポンシブリフロー(機能を損なわずに最大 400% ズーム)を実装。
### ステップ 3: 操作可能なコントロールの実装
- 最小 **24x24 CSS ピクセル**のターゲットサイズを確保(WCAG 2.2 SC 2.5.8)。
- すべてのインタラクティブ要素がキーボードで到達可能で、可視のフォーカスインジケーターを持つことを確認(SC 2.4.11)。
- ドラッグ操作の単一ポインター代替手段を提供。
### ステップ 4: 理解可能なロジックの確保
- 一貫したナビゲーションパターンを使用。
- 修正のための説明的なエラーメッセージと提案を提供(SC 3.3.3)。
- 同じデータを二度求めないよう「冗長入力防止」(SC 3.3.7)を実装。
### ステップ 5: 堅牢な互換性の検証
- 正しい `Name, Role, Value` パターンを使用。
- 動的なステータス更新のために `aria-live` またはライブリージョンを実装。
## アクセシビリティアーキテクチャ図
```mermaid
flowchart TD
UI["UI コンポーネント"] --> Platform{プラットフォーム?}
Platform -->|Web| ARIA["WAI-ARIA + HTML5"]
Platform -->|iOS| SwiftUI["アクセシビリティトレイト + ラベル"]
Platform -->|Android| Compose["セマンティクス + コンテンツ説明"]
ARIA --> AT["支援技術(スクリーンリーダー、スイッチ)"]
SwiftUI --> AT
Compose --> AT
```
## クロスプラットフォームマッピング
| 機能 | Web (HTML/ARIA) | iOS (SwiftUI) | Android (Compose) Use this skill
Add a "skill" field with the skill’s ID to your chat completion request. It is applied server-side before your prompt is sent — no extra calls.
{
"model": "gpt-4o-mini",
"skill": "imp-5aeda468-92b5-4cec-a083-fd9bef15097c",
"messages": [{ "role": "user", "content": "…" }]
}Install the skill, enable it in your dashboard and (optionally) limit it to specific models. It then applies automatically to every matching request — with no "skill" field to send each time.
Set it up in your dashboardMore skills
Delegate coding work to Codex, Claude Code, or OpenCode as background workers; not simple edits or read-only code lookup.
Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.
Search and analyze your own session logs (older/parent conversations) using jq.
Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.
Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.
List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.
Create, search, and manage Bear notes via grizzly CLI.