On this page
Overview
The React Spectrum repository is a monorepo containing Adobe's styled Spectrum components, unstyled React Aria primitives, React Stately state hooks, and internationalization libraries. It supports both ready-made design-system adoption and custom component systems that reuse accessibility behavior.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Use Adobe's Spectrum design system as React components
React Spectrum implements Adobe Spectrum as React components with a cohesive visual and interaction model.
Sources: [1]
Build custom visual systems on unstyled React Aria primitives
React Aria exposes unstyled components and hooks so teams can keep their own DOM and styling while reusing keyboard, focus, interaction, and ARIA behavior.
Sources: [1]
Cover keyboard, touch, screen readers, and internationalization
The libraries target WAI-ARIA Authoring Practices, keyboard navigation, mouse and touch interaction, more than 30 languages, RTL layouts, and date/number formatting.
Sources: [1]
Best fit
Fits teams that want accessibility built into their design-system foundation
It is useful for internal component libraries, SaaS interfaces, complex forms, and collections where teams do not want to reimplement low-level accessibility behavior for every control.
Sources: [1]
Before adoption
Version packages independently rather than treating the repository as one release
The monorepo publishes many npm packages on independent version lines. Releases on 2026-09-04 included React Aria Components 1.21.0 and React Spectrum S2 1.7.0, while main can move ahead before the next published release.
Spectrum S2 and React Aria have different React compatibility ranges
Current package metadata allows React Aria Components across React 16.8 through 19 lines, while Spectrum S2 targets the React 19 line. Choose the library family that matches the host application.
Accessible primitives do not replace application-level content semantics
The library can supply interaction and ARIA behavior, but application authors still need correct labels, validation messages, semantic content, and product-specific accessibility testing.
Sources: [1]
Official sources
- [1]React Spectrum README(2026-10-03)
- [2]React Aria Components 1.21.0 release(2026-10-03)
- [3]React Spectrum S2 1.7.0 release(2026-10-03)
- [4]React Aria Components package(2026-10-03)
- [5]React Spectrum S2 package(2026-10-03)
- [6]React Spectrum Apache-2.0 license(2026-10-03)
Supplemental curator note
The main advantage is choice: React Spectrum provides Adobe-styled components, while React Aria provides unstyled accessible primitives for custom design systems. Packages are independently versioned, so pin and upgrade the packages you actually adopt rather than treating the repository as one version.
Try it in 3 steps
- 1
Add React Aria Components to an existing React project
Start with the unstyled package released on 2026-09-04 for a minimal custom-design-system path.
npm install react-aria-components@1.21.0 - 2
Add an accessible component
Render <Button>Save</Button> and style it with the application's existing CSS or design tokens.
import {Button} from 'react-aria-components'; - 3
Verify keyboard interaction
Check Tab focus and Enter/Space activation. Evaluate React Spectrum/S2 separately when Adobe's finished styling is required.
npm run dev
Growth
Growth trends · Last 30 days
15,911 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 56
- Open PRs
- 94
Development activity is still being collected.
Built with
Categories and tags
GitHub data
GitHub dataView detailed GitHub data
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
- Owner type
- Organization
- Primary language
- TypeScript
- License
- Apache-2.0
- Repository last updated
- Oct 3, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- React Select28,027 Stars
4 shared tag(s) · 1 shared category(s) · Same language
build searchable and multi-select React interfaces with controlled state and deep component customization
TypeScript - shadcn/ui125,056 Stars
3 shared tag(s) · 2 shared category(s) · Same language
copy component source into a project and grow it into your own UI library
TypeScript - Zustand58,784 Stars
3 shared tag(s) · 2 shared category(s) · Same language
manage React state with provider-free hook stores and subscribe through selectors
TypeScript - vanilla-extract10,435 Stars
3 shared tag(s) · 2 shared category(s) · Same language
write type-safe styles in TypeScript and extract them to static CSS at build time
TypeScript - Blade652 Stars
3 shared tag(s) · 2 shared category(s) · Same language
share themes, design tokens, and accessible UI components across React Web and React Native
TypeScript - React Native126,786 Stars
3 shared tag(s) · 2 shared category(s)
native mobile UI with React, stable 0.87.1, and a framework-first path
C++
Report incorrect information
Tell us if any listing information is incorrect or outdated.