affaan-m/ECC/docs/ja-JP/skills/accessibility/SKILL.md
accessibility
Use it for design tasks; the detail page covers purpose, installation, and practical steps.
- Source repository stars
- 234,327
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-07-27
- Source checked
- 2026-07-28
Decision brief
What it does—and where it fits
このスキルは、スクリーンリーダー、スイッチコントロール、キーボードナビゲーションを使用するユーザーを含む、すべてのユーザーにとってデジタルインターフェースが知覚可能・操作可能・理解可能・堅牢(POUR)であることを保証します。WCAG 2.2 達成基準の技術的な実装に焦点を当てています。
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/affaan-m/ECC --skill "docs/ja-JP/skills/accessibility"Inspect the Agent Skill "accessibility" from https://github.com/affaan-m/ECC/blob/4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38/docs/ja-JP/skills/accessibility/SKILL.md at commit 4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
使用タイミング
Web、iOS、Android 向け UI コンポーネント仕様の定義。
Web、iOS、Android 向け UI コンポーネント仕様の定義。アクセシビリティの障壁やコンプライアンスのギャップについて既存コードを監査する。Target Size(最小)や Focus Appearance など新しい WCAG 2.2 基準を実装する。 - 02
コアコンセプト
POUR 原則: WCAG の基盤(知覚可能・操作可能・理解可能・堅牢)。
POUR 原則: WCAG の基盤(知覚可能・操作可能・理解可能・堅牢)。セマンティックマッピング: 汎用コンテナよりネイティブ要素を使用して組み込みのアクセシビリティを提供する。アクセシビリティツリー: 支援技術が実際に「読み取る」UI の表現。 - 03
仕組み
機能的な目的を決定します(例:これはボタンか、リンクか、タブか)。カスタムロールに頼る前に、利用可能な最もセマンティックなネイティブ要素を使用します。
テキストのコントラストが 4.5:1(通常)または 3:1(大きいテキスト・UI)を満たすことを確認。非テキストコンテンツ(画像、アイコン)にテキスト代替を追加。レスポンシブリフロー(機能を損なわずに最大 400% ズーム)を実装。 - 04
ステップ 1: コンポーネントロールの特定
機能的な目的を決定します(例:これはボタンか、リンクか、タブか)。カスタムロールに頼る前に、利用可能な最もセマンティックなネイティブ要素を使用します。
機能的な目的を決定します(例:これはボタンか、リンクか、タブか)。カスタムロールに頼る前に、利用可能な最もセマンティックなネイティブ要素を使用します。
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 68/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 234,327 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- affaan-m/ECC
- Skill path
- docs/ja-JP/skills/accessibility/SKILL.md
- Commit
- 4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38
- License
- MIT
- Collected
- 2026-07-28
- Default branch
- main
View the original SKILL.md
アクセシビリティ(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またはライブリージョンを実装。
アクセシビリティアーキテクチャ図
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) |
|---|---|---|---|
| プライマリラベル | aria-label / <label> | .accessibilityLabel() | contentDescription |
| セカンダリヒント | aria-describedby | .accessibilityHint() | Modifier.semantics { stateDescription = ... } |
| アクションロール | role="button" | .accessibilityAddTraits(.isButton) | Modifier.semantics { role = Role.Button } |
| ライブ更新 | aria-live="polite" | .accessibilityLiveRegion(.polite) | Modifier.semantics { liveRegion = LiveRegionMode.Polite } |
例
Web: アクセシブルな検索
<form role="search">
<label for="search-input" class="sr-only">Search products</label>
<input type="search" id="search-input" placeholder="Search..." />
<button type="submit" aria-label="Submit Search">
<svg aria-hidden="true">...</svg>
</button>
</form>
iOS: アクセシブルなアクションボタン
Button(action: deleteItem) {
Image(systemName: "trash")
}
.accessibilityLabel("Delete item")
.accessibilityHint("Permanently removes this item from your list")
.accessibilityAddTraits(.isButton)
Android: アクセシブルなトグル
Switch(
checked = isEnabled,
onCheckedChange = { onToggle() },
modifier = Modifier.semantics {
contentDescription = "Enable notifications"
}
)
避けるべきアンチパターン
- Div ボタン: ロールとキーボードサポートを追加せずに
<div>や<span>をクリックイベントに使用する。 - 色のみの意味: エラーやステータスを色の変化_のみ_で示す(例:ボーダーを赤にする)。
- モーダルフォーカスの未封じ込め: フォーカスをトラップしないモーダルで、キーボードユーザーがモーダル開放中に背景コンテンツをナビゲートできてしまう。フォーカスは封じ込め_かつ_
Escapeキーまたは明示的な閉じるボタンで脱出可能でなければならない(WCAG SC 2.1.2)。 - 冗長な代替テキスト: alt テキストに「Image of...」や「Picture of...」を使用する(スクリーンリーダーはすでに「画像」というロールをアナウンスする)。
ベストプラクティスチェックリスト
- インタラクティブ要素が 24x24px(Web)または 44x44pt(ネイティブ)のターゲットサイズを満たしている。
- フォーカスインジケーターが明確に見え、高コントラストである。
- モーダルは開いている間フォーカスを封じ込め、閉じる際にクリーンに解放する(
Escapeキーまたは閉じるボタン)。 - ドロップダウンとメニューは閉じる際にトリガー要素にフォーカスを戻す。
- フォームはテキストベースのエラー提案を提供する。
- アイコンのみのボタンには説明的なテキストラベルがある。
- テキストが拡大縮小されるとコンテンツが適切にリフローする。
参考資料
- WCAG 2.2 ガイドライン
- WAI-ARIA オーサリング実践
- iOS アクセシビリティプログラミングガイド
- iOS ヒューマンインターフェースガイドライン - アクセシビリティ
- Android アクセシビリティ開発者ガイド
関連スキル
frontend-patternsdesign-systemliquid-glass-designswiftui-patterns
Alternatives
Compare before choosing
affaan-m/ECC
accessibility
Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA standards. Use this skill to generate semantic ARIA for Web and accessibility traits for Web and Native platforms (iOS/Android).
affaan-m/ECC
accessibility
Use it for design tasks; the detail page covers purpose, installation, and practical steps.
coreyhaines31/marketingskills
ab-testing
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
coreyhaines31/marketingskills
churn-prevention
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o