react-aria
React Ariaを活用し、アクセシブルなフォームやデザインシステムを構築、または既存のUIのアクセシビリティ問題を改善することで、より多くの人が利用しやすいReactコンポーネントを開発するSkill。
📜 元の英語説明(参考)
Build accessible UI components with React Aria. Use when creating accessible form controls, implementing ARIA patterns, building design systems, or fixing accessibility issues.
🇯🇵 日本人クリエイター向け解説
React Ariaを活用し、アクセシブルなフォームやデザインシステムを構築、または既存のUIのアクセシビリティ問題を改善することで、より多くの人が利用しやすいReactコンポーネントを開発するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o react-aria.zip https://jpskill.com/download/15319.zip && unzip -o react-aria.zip && rm react-aria.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15319.zip -OutFile "$d\react-aria.zip"; Expand-Archive "$d\react-aria.zip" -DestinationPath $d -Force; ri "$d\react-aria.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
react-aria.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
react-ariaフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
React Aria
概要
React Aria (Adobe) は、React のためのアクセシブルな UI プリミティブを提供します。キーボード操作、スクリーンリーダーによるアナウンス、フォーカスの管理、および ARIA 属性を処理します。スタイリングはあなたが提供します。
手順
ステップ 1: アクセシブルなコンポーネント
import { Button, Label, ListBox, ListBoxItem, Popover, Select, SelectValue } from 'react-aria-components'
export function SelectField({ label, items, onSelectionChange }) {
return (
<Select onSelectionChange={onSelectionChange}>
<Label>{label}</Label>
<Button><SelectValue /><span aria-hidden="true">▼</span></Button>
<Popover>
<ListBox>
{items.map(item => (
<ListBoxItem key={item.id} id={item.id}>{item.name}</ListBoxItem>
))}
</ListBox>
</Popover>
</Select>
)
}
// 矢印キーで移動、Enter で選択、Escape で閉じます
// スクリーンリーダー: 値、ロール、オプション数をアナウンスします
ステップ 2: フォーカスの管理
import { FocusScope } from 'react-aria'
function ModalDialog({ children, onClose }) {
return (
<FocusScope contain restoreFocus autoFocus>
<div role="dialog" aria-modal="true">
{children}
<button onClick={onClose}>Close</button>
</div>
</FocusScope>
)
}
ステップ 3: カスタムフック
import { useButton } from 'react-aria'
import { useRef } from 'react'
function CustomButton(props) {
const ref = useRef(null)
const { buttonProps } = useButton(props, ref)
return <button {...buttonProps} ref={ref}>{props.children}</button>
}
ガイドライン
- React Aria = 挙動 + アクセシビリティ。スタイリング(Tailwind、CSS-in-JS)はあなたが制御します。
react-aria-components: レンダリングプロパティを持つ、構築済みのアクセシブルなコンポーネントです。- 個別のフック(
useButton、useTextField)は、完全にカスタムなデザインのためにあります。 - FocusScope はモーダル内のフォーカスをトラップします — WCAG 2.1 に必須です。
- VoiceOver (Mac)、NVDA (Windows)、キーボードのみでテストしてください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
React Aria
Overview
React Aria (Adobe) provides accessible UI primitives for React. Handles keyboard navigation, screen reader announcements, focus management, and ARIA attributes — you provide styling.
Instructions
Step 1: Accessible Components
import { Button, Label, ListBox, ListBoxItem, Popover, Select, SelectValue } from 'react-aria-components'
export function SelectField({ label, items, onSelectionChange }) {
return (
<Select onSelectionChange={onSelectionChange}>
<Label>{label}</Label>
<Button><SelectValue /><span aria-hidden="true">▼</span></Button>
<Popover>
<ListBox>
{items.map(item => (
<ListBoxItem key={item.id} id={item.id}>{item.name}</ListBoxItem>
))}
</ListBox>
</Popover>
</Select>
)
}
// Arrow keys navigate, Enter selects, Escape closes
// Screen reader: announces value, role, option count
Step 2: Focus Management
import { FocusScope } from 'react-aria'
function ModalDialog({ children, onClose }) {
return (
<FocusScope contain restoreFocus autoFocus>
<div role="dialog" aria-modal="true">
{children}
<button onClick={onClose}>Close</button>
</div>
</FocusScope>
)
}
Step 3: Custom Hooks
import { useButton } from 'react-aria'
import { useRef } from 'react'
function CustomButton(props) {
const ref = useRef(null)
const { buttonProps } = useButton(props, ref)
return <button {...buttonProps} ref={ref}>{props.children}</button>
}
Guidelines
- React Aria = behavior + accessibility. You control styling (Tailwind, CSS-in-JS).
react-aria-components: pre-built accessible components with render props.- Individual hooks (
useButton,useTextField) for fully custom designs. - FocusScope traps focus in modals — required for WCAG 2.1.
- Test with VoiceOver (Mac), NVDA (Windows), keyboard-only.