jpskill.com
💬 コミュニケーション コミュニティ 🟢 非エンジニアでもOK 👤 管理職・人事・カスタマー対応

💬 Fixing Accessibility

fixing-accessibility

HTMLのアクセシビリティ問題を監査し、ARIAラベルやキーボード操作、色コントラストなどを修正してWCAG準拠を確保するSkill。

⏱ Slack絵文字GIF制作 1時間 → 5分

📺 まず動画で見る(YouTube)

▶ 【最新版】Claude(クロード)完全解説!20以上の便利機能をこの動画1本で全て解説 ↗

※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。

📜 元の英語説明(参考)

Audit and fix HTML accessibility issues including ARIA labels, keyboard navigation, focus management, color contrast, and form errors. Use when adding interactive controls, forms, dialogs, or reviewing WCAG compliance.

🇯🇵 日本人クリエイター向け解説

一言でいうと

HTMLのアクセシビリティ問題を監査し、ARIAラベルやキーボード操作、色コントラストなどを修正してWCAG準拠を確保するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o fixing-accessibility.zip https://jpskill.com/download/2862.zip && unzip -o fixing-accessibility.zip && rm fixing-accessibility.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/2862.zip -OutFile "$d\fixing-accessibility.zip"; Expand-Archive "$d\fixing-accessibility.zip" -DestinationPath $d -Force; ri "$d\fixing-accessibility.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して fixing-accessibility.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → fixing-accessibility フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

💬 こう話しかけるだけ — サンプルプロンプト

  • Fixing Accessibility で、お客様への返信文を作って
  • Fixing Accessibility を使って、社内向けアナウンスを書いて
  • Fixing Accessibility で、メールテンプレートを整備して

これをClaude Code に貼るだけで、このSkillが自動発動します。

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

fixing-accessibility

アクセシビリティの問題を修正します。

使用方法

  • /fixing-accessibility この会話におけるすべてのUI作業にこれらの制約を適用します。

  • /fixing-accessibility <file> 以下のすべてのルールに対してファイルをレビューし、以下を報告します。

    • 違反(正確な行またはスニペットを引用)
    • なぜそれが重要なのか(短い一文)
    • 具体的な修正(コードレベルの提案)

UIの大部分を書き直さないでください。最小限で的を絞った修正を優先してください。

使用するタイミング

以下の状況でこれらのガイドラインを参照してください。

  • ボタン、リンク、入力、メニュー、ダイアログ、タブ、ドロップダウンを追加または変更する場合
  • フォーム、バリデーション、エラー状態、ヘルパーテキストを構築する場合
  • キーボードショートカットやカスタムインタラクションを実装する場合
  • フォーカス状態、フォーカストラップ、モーダル動作に取り組む場合
  • アイコンのみのコントロールをレンダリングする場合
  • ホバーのみのインタラクションや非表示コンテンツを追加する場合

優先度別のルールカテゴリ

優先度 カテゴリ 影響度
1 アクセシブルな名前 致命的
2 キーボードアクセス 致命的
3 フォーカスとダイアログ 致命的
4 セマンティクス
5 フォームとエラー
6 アナウンス 中高
7 コントラストと状態
8 メディアとモーション 低中
9 ツール境界 致命的

クイックリファレンス

1. アクセシブルな名前 (致命的)

  • すべてのインタラクティブなコントロールにはアクセシブルな名前が必要です
  • アイコンのみのボタンにはaria-labelまたはaria-labelledbyが必要です
  • すべてのinput、select、textareaにはラベルが必要です
  • リンクには意味のあるテキストが必要です(「ここをクリック」は不可)
  • 装飾的なアイコンはaria-hiddenである必要があります

2. キーボードアクセス (致命的)

  • 完全なキーボードサポートなしにdivまたはspanをボタンとして使用しないでください
  • すべてのインタラクティブな要素はTabで到達可能である必要があります
  • キーボードユーザーのためにフォーカスは可視である必要があります
  • tabindexを0より大きく使用しないでください
  • 該当する場合、Escapeでダイアログまたはオーバーレイを閉じる必要があります

3. フォーカスとダイアログ (致命的)

  • モーダルは開いている間、フォーカスをトラップする必要があります
  • 閉じる際にトリガーにフォーカスを復元します
  • ダイアログ内に初期フォーカスを設定します
  • ダイアログを開いてもページが予期せずスクロールしないようにします

4. セマンティクス (高)

  • ロールベースのハックよりもネイティブ要素(button、a、input)を優先します
  • ロールが使用される場合、必要なaria属性が存在する必要があります
  • リストはulまたはolとliを使用する必要があります
  • 見出しレベルをスキップしないでください
  • 該当する場合、テーブルはヘッダーにthを使用する必要があります

5. フォームとエラー (高)

  • エラーはaria-describedbyを使用してフィールドにリンクする必要があります
  • 必須フィールドはアナウンスされる必要があります
  • 無効なフィールドはaria-invalidを設定する必要があります
  • ヘルパーテキストは入力に関連付けられる必要があります
  • 無効な送信アクションは理由を説明する必要があります

6. アナウンス (中高)

  • 重要なフォームエラーはaria-liveを使用する必要があります
  • ローディング状態はaria-busyまたはステータステキストを使用する必要があります
  • トーストは重要な情報を伝える唯一の方法であってはなりません
  • 展開可能なコントロールはaria-expandedとaria-controlsを使用する必要があります

7. コントラストと状態 (中)

  • テキストとアイコンに十分なコントラストを確保します
  • ホバーのみのインタラクションにはキーボードによる同等の操作が必要です
  • 無効状態は色だけに依存してはなりません
  • 可視の代替手段なしにフォーカスのアウトラインを削除しないでください

8. メディアとモーション (低中)

  • 画像には正しいaltテキストが必要です(意味のあるもの、または空)
  • 音声付きの動画は、関連する場合にキャプションを提供する必要があります
  • 不要なモーションにはprefers-reduced-motionを尊重します
  • 音声付きのメディアの自動再生は避けてください

9. ツール境界 (致命的)

  • 最小限の変更を優先し、無関係なコードをリファクタリングしないでください
  • ネイティブのセマンティクスがすでに問題を解決している場合にariaを追加しないでください
  • 要求されない限り、UIライブラリを移行しないでください

一般的な修正

<!-- icon-only button: add aria-label -->
<!-- before --> <button><svg>...</svg></button>
<!-- after -->  <button aria-label="Close"><svg aria-hidden="true">...</svg></button>

<!-- div as button: use native element -->
<!-- before --> <div onclick="save()">Save</div>
<!-- after -->  <button onclick="save()">Save</button>

<!-- form error: link with aria-describedby -->
<!-- before --> <input id="email" /> <span>Invalid email</span>
<!-- after -->  <input id="email" aria-describedby="email-err" aria-invalid="true" /> <span id="email-err">Invalid email</span>

レビューガイドライン

  • 致命的な問題(名前、キーボード、フォーカス、ツール境界)を最初に修正します
  • ariaを追加する前にネイティブHTMLを優先します
  • 正確なスニペットを引用し、失敗を述べ、小さな修正を提案します
  • 複雑なウィジェット(menu、dialog、combobox)の場合、カスタム動作よりも確立されたアクセシブルなプリミティブを優先します

制限事項

  • このスキルは、タスクが上記の範囲と明確に一致する場合にのみ使用してください。
  • 出力を環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全境界、または成功基準が不足している場合は、停止して明確化を求めてください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

fixing-accessibility

Fix accessibility issues.

how to use

  • /fixing-accessibility Apply these constraints to any UI work in this conversation.

  • /fixing-accessibility <file> Review the file against all rules below and report:

    • violations (quote the exact line or snippet)
    • why it matters (one short sentence)
    • a concrete fix (code-level suggestion)

Do not rewrite large parts of the UI. Prefer minimal, targeted fixes.

When to Use

Reference these guidelines when:

  • adding or changing buttons, links, inputs, menus, dialogs, tabs, dropdowns
  • building forms, validation, error states, helper text
  • implementing keyboard shortcuts or custom interactions
  • working on focus states, focus trapping, or modal behavior
  • rendering icon-only controls
  • adding hover-only interactions or hidden content

rule categories by priority

priority category impact
1 accessible names critical
2 keyboard access critical
3 focus and dialogs critical
4 semantics high
5 forms and errors high
6 announcements medium-high
7 contrast and states medium
8 media and motion low-medium
9 tool boundaries critical

quick reference

1. accessible names (critical)

  • every interactive control must have an accessible name
  • icon-only buttons must have aria-label or aria-labelledby
  • every input, select, and textarea must be labeled
  • links must have meaningful text (no “click here”)
  • decorative icons must be aria-hidden

2. keyboard access (critical)

  • do not use div or span as buttons without full keyboard support
  • all interactive elements must be reachable by Tab
  • focus must be visible for keyboard users
  • do not use tabindex greater than 0
  • Escape must close dialogs or overlays when applicable

3. focus and dialogs (critical)

  • modals must trap focus while open
  • restore focus to the trigger on close
  • set initial focus inside dialogs
  • opening a dialog should not scroll the page unexpectedly

4. semantics (high)

  • prefer native elements (button, a, input) over role-based hacks
  • if a role is used, required aria attributes must be present
  • lists must use ul or ol with li
  • do not skip heading levels
  • tables must use th for headers when applicable

5. forms and errors (high)

  • errors must be linked to fields using aria-describedby
  • required fields must be announced
  • invalid fields must set aria-invalid
  • helper text must be associated with inputs
  • disabled submit actions must explain why

6. announcements (medium-high)

  • critical form errors should use aria-live
  • loading states should use aria-busy or status text
  • toasts must not be the only way to convey critical information
  • expandable controls must use aria-expanded and aria-controls

7. contrast and states (medium)

  • ensure sufficient contrast for text and icons
  • hover-only interactions must have keyboard equivalents
  • disabled states must not rely on color alone
  • do not remove focus outlines without a visible replacement

8. media and motion (low-medium)

  • images must have correct alt text (meaningful or empty)
  • videos with speech should provide captions when relevant
  • respect prefers-reduced-motion for non-essential motion
  • avoid autoplaying media with sound

9. tool boundaries (critical)

  • prefer minimal changes, do not refactor unrelated code
  • do not add aria when native semantics already solve the problem
  • do not migrate UI libraries unless requested

common fixes

<!-- icon-only button: add aria-label -->
<!-- before --> <button><svg>...</svg></button>
<!-- after -->  <button aria-label="Close"><svg aria-hidden="true">...</svg></button>

<!-- div as button: use native element -->
<!-- before --> <div onclick="save()">Save</div>
<!-- after -->  <button onclick="save()">Save</button>

<!-- form error: link with aria-describedby -->
<!-- before --> <input id="email" /> <span>Invalid email</span>
<!-- after -->  <input id="email" aria-describedby="email-err" aria-invalid="true" /> <span id="email-err">Invalid email</span>

review guidance

  • fix critical issues first (names, keyboard, focus, tool boundaries)
  • prefer native HTML before adding aria
  • quote the exact snippet, state the failure, propose a small fix
  • for complex widgets (menu, dialog, combobox), prefer established accessible primitives over custom behavior

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.