adobe/react-spectrum
GitHub: adobe/react-spectrum
Adobe 出品的 React 组件库集合,致力于帮助开发者构建无障碍、自适应且支持国际化的高质量 Web 用户界面。
Stars: 15529 | Forks: 1466
# [React Spectrum 库](https://react-spectrum.adobe.com/)
一系列帮助你构建自适应、无障碍且健壮的用户体验的库和工具。
### React Spectrum
Spectrum(Adobe 的设计系统)的 React 实现。Spectrum 为所有 Adobe 应用程序提供自适应、无障碍且连贯的体验。
[探索 React Spectrum](https://react-spectrum.adobe.com/react-spectrum/index.html)
### React Aria
一个无样式的 React 组件和 hooks 库,帮助你为应用程序或设计系统构建无障碍、高质量的 UI 组件。
[了解更多关于 React Aria 的信息](https://react-spectrum.adobe.com/react-aria/index.html)
### React Stately
一个 React Hooks 库,为你的设计系统提供跨平台的状态管理。
[更多关于 React Stately 的信息](https://react-spectrum.adobe.com/react-stately/index.html)
### 国际化
一系列与框架无关的 Web 国际化库。
[Internationalized 包](https://react-spectrum.adobe.com/internationalized/index.html)
## 特性
* ♿️ **[无障碍](https://react-spectrum.adobe.com/react-aria/accessibility.html)** – 无障碍和行为均按照 [WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices-1.2/) 实现,包括对屏幕阅读器和键盘导航的全面支持。所有组件都已在多种屏幕阅读器和设备上进行了测试,以确保为所有用户提供尽可能最佳的体验。
* 📱 **[自适应](https://react-spectrum.adobe.com/react-aria/interactions.html)** – 所有组件在设计上都支持鼠标、触摸和键盘交互。它们基于响应式设计原则构建,无论使用何种设备,都能提供出色的体验。
* 🌍 **[国际化](https://react-spectrum.adobe.com/react-aria/internationalization.html)** – 开箱即用地支持超过 30 种语言,包括对从右到左语言的支持、日期和数字格式化等。
* 🎨 **[可定制](https://react-spectrum.adobe.com/react-spectrum/theming.html)** – React Spectrum 组件支持自定义主题,并能自动适应深色模式。如果需要更高的可定制性,你可以使用 [React Aria](https://react-spectrum.adobe.com/react-aria/index.html) 和 [React Stately](https://react-spectrum.adobe.com/react-stately/index.html) hooks,通过自定义的 DOM 结构和样式来构建你自己的组件,以实现特定的行为、无障碍功能和交互。
## 快速开始
React Spectrum 包含多个库,你可以根据自己的用例进行选择。
* [React Spectrum](https://react-spectrum.adobe.com/react-spectrum/getting-started.html) 是 Adobe 设计系统的实现。如果你正在与 Adobe 软件集成,或者希望在你的项目中使用一个完整的组件库,这就是最佳选择!
* [React Aria](https://react-spectrum.adobe.com/react-aria/getting-started.html) 是一系列无样式的 React 组件和 hooks,可帮助你为自己的应用程序或设计系统构建无障碍、高质量的 UI 组件。如果你打算在 Web 上从零开始构建带有自定义样式的组件库,请从这里开始。
* [React Stately](https://react-spectrum.adobe.com/react-stately/getting-started.html) 是一个用于组件库的状态管理 hooks 库。如果你正在使用 React Aria,你可能也会用到 React Stately,但它也可以独立使用(例如,在 React Native 等其他平台上)。
[阅读更多关于我们的架构的信息](https://github.com/adobe/react-spectrum/blob/main/rfcs/2019-v3-architecture.md)。
## 贡献
React Spectrum 项目的目标之一是让构建设计系统和组件库变得尽可能简单,同时保持高质量的交互和无障碍支持。我们的目标是提升 Web 应用程序的标准。实现这一目标的最佳方式是**携手共进**。我们非常欢迎社区的贡献,无论大小。😍
阅读我们的[贡献指南](https://github.com/adobe/react-spectrum/blob/main/CONTRIBUTING.md),了解如何提交错误修复和改进建议,以及开发流程是如何运作的。有关我们的架构以及所有部分如何组合在一起的详细信息,请阅读我们的[架构 rfc](https://github.com/adobe/react-spectrum/blob/main/rfcs/2019-v3-architecture.md)。
标签:React, Syscalls, 前端组件库, 国际化, 无样式组件, 无障碍, 状态管理, 自动化攻击, 设计系统