OSS探訪

アクセシブルなReact UIを、完成済みSpectrum componentsまたはunstyledなReact Ariaから構築する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
15,911
主要言語
TypeScript
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/03
ページ内ナビ

概要

React Spectrum repositoryは、Adobe SpectrumのReact component、unstyledなReact Aria、state logicを提供するReact Stately、国際化libraryをまとめたmonorepoです。完成済みdesign systemを使う場合と、独自UIへaccessibility behaviorだけ組み込む場合の両方を支援します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

React SpectrumでAdobeのdesign systemをそのまま利用する

React SpectrumはAdobe SpectrumをReactで実装し、統一されたvisual designとinteractionをcomponentとして提供します。

出典:[1]

React Ariaで見た目を固定せずaccessibility behaviorを組み込む

React Ariaはunstyled componentsとhooksを提供し、自社design systemのDOMやstylingを保ちながらkeyboard、focus、interaction、ARIA behaviorを実装できます。

出典:[1]

keyboard・touch・screen readerと国際化を標準で考慮する

WAI-ARIA Authoring Practicesに沿ったaccessibility、keyboard navigation、mouse/touch interaction、30以上の言語、RTL、日付・数値formatなどをlibrary群で提供します。

出典:[1]

向いている用途

accessibilityを後付けせずdesign systemの基盤へ組み込みたいteamに向く

社内component library、SaaS UI、複雑なformやcollection componentで、keyboardやscreen reader対応を低levelから毎回作り直したくない場合に適しています。

出典:[1]

導入前の確認

repository全体ではなくpackage単位でversionを管理する

このmonorepoは多数のnpm packageを独立versionで公開します。2026-09-04のreleaseではReact Aria Components 1.21.0とReact Spectrum S2 1.7.0が公開されており、main branchのversionが先行する場合もあります。

出典:[2][3][4][5]

Spectrum S2とReact AriaではReactのsupport rangeが異なる

current package metadataではReact Aria ComponentsがReact 16.8〜19系列をpeerとして許容する一方、Spectrum S2はReact 19系列を前提にしています。既存applicationのReact versionに合わせてlibrary familyを選びます。

出典:[4][5]

accessible componentでもapplication側のlabel・content設計は必要

libraryがkeyboardやARIA behaviorを提供しても、適切なlabel、validation message、semantic contentなどapplication固有のaccessibility要件は実装側で確認します。

出典:[1]

参考にした公式資料

  1. [1]React Spectrum README(2026-10-03)
  2. [2]React Aria Components 1.21.0 release(2026-10-03)
  3. [3]React Spectrum S2 1.7.0 release(2026-10-03)
  4. [4]React Aria Components package(2026-10-03)
  5. [5]React Spectrum S2 package(2026-10-03)
  6. [6]React Spectrum Apache-2.0 license(2026-10-03)
編集部からの補足

完成したAdobe Spectrum UIを使うならReact Spectrum、独自design systemを作るならReact Ariaを起点に分けて選べる点が強みです。monorepo内のpackageは独立versionなのでrepository全体を一つのversionとして扱わず、採用packageごとにreleaseを固定してください。

3ステップで試す

  1. 1

    既存React projectへReact Aria Componentsを追加

    独自stylingを使う最小構成として、2026-09-04公開のReact Aria Componentsを追加します。

    npm install react-aria-components@1.21.0
  2. 2

    accessible componentを配置

    component内で <Button>Save</Button> を配置し、既存のCSSやdesign tokenで見た目を定義します。

    import {Button} from 'react-aria-components';
  3. 3

    keyboard操作を確認

    Tabでfocusでき、Enter/Spaceで操作できることを確認します。完成済みAdobe stylingが必要ならReact Spectrum/S2を別途評価します。

    npm run dev
公式READMEで確認

成長

成長の推移 · 直近30日

15,911 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
56
Open PR
94

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • react
  • accessibility
  • design-systems
  • react-components
  • wai-aria
  • ui-components
Stars
15,911
Forks
1,590
Watchers
77
Open Issues
509
Contributors
410
所有者種別
Organization
主要言語
TypeScript
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/03

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?