Solid Aria
A library of high-quality primitives that help you build accessible user interfaces with SolidJS.
⚠️ Solid Aria is in early stage and not ready for production ⚠️
Contribitors
Note
We're looking for contributors! Solid Aria has ported more than half of all features and tests to reach parity with React Aria. It has excellent foundations but could use support to push it to completion.
There are opportunities for short and long-term contributors. Currently the need includes focusing on the collection
package which supports listbox
, menu
, select
etc. This package has been mostly ported but needs to be tested and validated. To get involved reach out via Github Issue or join us on our SolidJS dedicated Discord channel.
All in one package
@solid-aria/primitives - Export all Solid Aria primitives in a single convenient package.
Separate packages
General
- button - Provides the behavior and accessibility implementation for button and toggle button components.
Data entry
- checkbox - Provides the behavior and accessibility implementation for checkbox and checkbox group components.
- label - Provides the behavior and accessibility implementation for labels and their associated elements.
- radio - Provides the behavior and accessibility implementation for radio and radio group components.
- select - Provides the behavior and accessibility implementation for select component.
- switch - Provides the behavior and accessibility implementation for switch component.
- textfield - Provides the behavior and accessibility implementation for text field component.
- toggle - Handles interactions for toggle elements, e.g. checkboxes and switches.
Data display
- accordion - Provides the accessibility implementation for an accordion.
- listbox - Provides the behavior and accessibility implementation for listbox component.
- separator - Provides the accessibility implementation for a separator.
Navigation
- breadcrumbs - Provides the behavior and accessibility implementation for a breadcrumbs component.
- link - Provides the behavior and accessibility implementation for a link component.
Feedback
- meter - Provides the accessibility implementation for a meter component.
- progress - Provides the accessibility implementation for a progress bar component.
Overlay
- dialog - Provides the behavior and accessibility implementation for a dialog component.
- menu - Provides the behavior and accessibility implementation for a menu component.
- overlays - Provides the behavior and accessibility implementation for overlay components such as dialogs, popovers, and menus.
Collection
- collection - Primitives for dealing with collection of items.
- list - Primitives for managing list collections.
- selection - Primitives for managing selection in collections.
- tree - Primitives for managing tree collections.
Interaction
- focus - Primitives for dealing with focus rings and focus management.
- interactions - Primitives for dealing with user interactions like press, hover, etc.
Utility
- i18n - Primitives for dealing with locale and layout direction.
- visually-hidden - Hides its children visually, while keeping content visible to screen readers.
Roadmap
-
[x] Accordion
-
[x] Breadcrumbs
-
[x] Button
-
[x] Checkbox
-
[x] Dialog
-
[x] Label
-
[x] Link
-
[x] Listbox
-
[x] Menu
-
[x] Meter
-
[x] Overlays
-
[x] Progress
-
[x] Radio
-
[x] Select
-
[x] Separator
-
[x] Switch
-
[x] TextField
-
[x] Toggle
-
[x] Visually-hidden
-
[ ] AutoComplete
-
[ ] Calendar
-
[ ] Combobox
-
[ ] DatePicker
-
[ ] List
-
[ ] LiveAnnouncer
-
[ ] NumberField
-
[ ] Pagination
-
[ ] SearchField
-
[ ] Slider
-
[ ] Table
-
[ ] Tabs
-
[ ] Toast
-
[ ] Tooltip
-
[ ] Virtualizer
Acknowledgment
This project is inspired by Adobe's React Spectrum Libraries.