Skip to content

Accessible, lightweight, unstyled implementations of common UI controls.

License

Notifications You must be signed in to change notification settings

tobyzerner/inclusive-elements

Repository files navigation

Inclusive Elements

Accessible, lightweight, unstyled implementations of common UI controls.

Demo

Basic interactive UI patterns like popup menus, tooltips, and modals are surprisingly hard to get right on the web. Component libraries tend to be weighty, opinionated, and come tightly coupled with styles you don't want. On the other hand, rolling your own components feels like you're reinventing the wheel and puts accessibility at risk.

inclusive-elements provides those basic behaviors in the form of Custom Elements, without any of the cruft. They are:

  • 🦮 Accessible. Designed following the ARIA Authoring Practices Guide so everyone can use them.
  • 🌳 Lightweight. Tree-shake only the elements you need.
  • 🎨 Unstyled. Easily integrate with your design bottom-up without having to fight defaults.
  • 🚀 Easy to use. Simple API, works with any framework that supports Custom Elements.

Installation

npm install inclusive-elements --save

Elements

Detailed descriptions and usage instructions are contained within each element:

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT