Build an Android app with Material 3 components that also runs on desktop without visual or behavior differences.
Replace standard Material 3 components in a Compose project with accessible alternatives that support keyboard navigation and screen readers.
Use the repository as a reference to learn how to build your own custom Compose components on top of Compose Unstyled primitives.
Requires a working Compose Multiplatform project, the desktop demo needs a JVM and the Android demo needs a connected device or emulator.
This is a Kotlin library that provides a set of common app UI components built for Android and desktop applications. It reimplements components from Google's Material 3 design system, which is the visual design language used across modern Android apps, but builds them on top of a separate library called Compose Unstyled rather than the standard Material 3 library. The practical difference is about where behavior and visual styling are defined. Standard Material 3 components bundle both together, and some of their underlying behavior is tied to Android platform conventions. This library separates the two: it keeps the Material 3 visual appearance and color theming, while delegating the component behavior and accessibility logic to Compose Unstyled primitives. The result is components that follow the Material 3 visual specification but work consistently across both Android and desktop targets, and that also comply with W3C ARIA accessibility standards for things like screen readers and keyboard navigation. The components included cover the most common building blocks for an app interface: alert dialogs, buttons, checkboxes, dropdowns, floating action buttons, progress indicators, a modal bottom sheet, text fields, tab rows, radio buttons, sliders, switches, tooltips, and a tri-state checkbox. The repository is intended as a reference implementation showing how to build your own components with Compose Unstyled inside an existing Material 3 project. It includes scripts to run a demo on desktop and on a connected Android device or emulator, so you can see all the components in action before using them in your own app.
← composablehorizons on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.