Components
All 110 of them, with zero runtime dependencies between them and your project. Every preview below is the exact fixture the conformance suite renders in CI, the same render axe audits and the SSR pass exercises, so nothing here can drift from what is actually verified.
110 components
Feedback & status
Loaded content
Loading, error, empty, and offline states — announced, focus-managed, and shift-free.
A live banner for offline, restored, and constrained connections.
Contained content
Contains a render crash to its own subtree instead of the whole page, with a focusable, announced fallback.
- Active
Badge
SMA small status label where color never carries meaning alone.
- Online
A coloured status indicator with an always-present text label.
Heads up
Informational message.Alert
SMA static in-flow message, polite or assertive by tone.
- Uploading
A determinate or indeterminate progress bar with a real accessible value.
Spinner
SMA loading indicator announced once via role=status.
Skeleton
XSA placeholder shape that reserves space for content that has not arrived yet.
No results
Try a different search.
A placeholder for a list, table, or panel with nothing in it yet.
A toast queue with correctly-timed live regions.
- 01:00
A live countdown with locale-correct digits.
A declarative live region for components that track their own message as state.
All changes saved
The autosave indicator, announced — and distinguishing 'failed' from 'offline'.
A retry control with visible exponential backoff that stays disabled while offline.
Tells the reader how old the data is, and says it differently when offline explains why.
Media & layout
An image that defers its own download on Save-Data and 2G-class connections.
- or
Divider
SMA horizontal or vertical rule, with an optional inline label.
- Content
A centred, max-width content column.
Copies to the clipboard and announces success.
Web Share API with a plain-link fallback.
Mounted content
Defers mounting expensive children until visible, sooner on good connections.
A button that prints the page.
Forms & input
Field
SMA text field with label, description, and error wired to assistive technology.
A form that keeps drafts, queues offline submits, and gives errors a focusable summary.
Switch
SMA binary toggle built on role=switch, not a disguised checkbox.
Checkbox
SMA checkbox with a real, clickable, bound label.
A fieldset/legend group of real radio inputs.
Slider
MDA native range input with an RTL-correct thumb direction.
Rating
SMA star rating, read-only or editable, announced as one value.
A search input with a clear button that returns focus correctly.
TagInput
MDA free-text tag list that announces additions and removals.
A password field with an accessible visibility toggle and strength meter.
OtpInput
MDOne-time-code entry wired for platform SMS autofill.
- 1
A numeric field with increment/decrement buttons for motor-impaired users.
A bot trap invisible to real users without trapping keyboard or screen reader users.
Select
SMA native select — fully accessible, in every language, at zero extra bytes.
A drag-and-drop zone that is a real keyboard-activatable button first.
- June 2026SunMonTueWedThuFriSat
Calendar
LGA month grid in the reader's own calendar system and week start.
- 9:30 AM
A native time input matching the platform's own 12/24-hour convention.
Combobox
MDA searchable single-select following the ARIA combobox pattern.
A real multi-select control rendered as removable chips plus toggle buttons.
Given and family name inputs, ordered the way the reader's locale orders them.
An address form whose field order and required fields follow the country being addressed.
A real radiogroup with roving tabindex and direction-aware arrow keys.
7 of 20
A character counter that counts graphemes, so one emoji costs one, not eleven.
A money input that parses the locale's own separators, so "1.234,56" means what a German user meant.
- mile
A measurement input shown in the reader's units and always stored in metric.
A timezone picker labelled in the reader's language and ordered by current offset.
There is 1 problem with this form
The focusable list of what went wrong, at the top of a form — usable with any form library.
Accessibility & preferences
Content for assistive technology only, removed from the visual layout without leaving the accessibility tree.
- Esc
Kbd
XSA single keyboard key, styled and marked up as one.
A light/dark/system toggle that persists its choice.
We use only the storage this site needs to work. No third-party tracking.
A cookie banner where decline is exactly as easy to press as accept.
An in-page opt-in to reduced motion, for people who never touch OS settings.
A manual override for the library's constrained-connection behaviour.
One panel for larger text and higher contrast.
In-page text scaling for low-vision readers, persisted and announced.
Page title
Section inside it
Heading
SMHeadings that know their own level, so a reusable component never breaks the page outline.
Data display
Avatar
SMA person's picture, or script-aware initials when there is none.
An overlapping avatar stack with an accessible overflow indicator.
Chip
SMA dismissible tag with a real accessible name for its remove action.
Title
Description text
Body
Card
SMA bordered content container with header, title, and description parts.
Collapsible sections built on the WAI-ARIA Accordion pattern.
- 9:00Order placed
- 10:00Shipped
Timeline
SMA vertical event sequence marked up as a real ordered list.
- Revenue$12,400+4% vs last week
StatCard
SMA single KPI figure with an optional trend line.
const x = 1;A code sample, always left-to-right regardless of page direction, with copy.
The Analytical Engine has no pretensions to originate anything.
— Ada Lovelace A real blockquote/cite pair, not a styled div.
- Row 0Row 1Row 2Row 3Row 4Row 5Row 6Row 7Row 8Row 9Row 10Row 11
Renders only visible rows plus overscan, for smooth scrolling on low-end devices.
Aisha Bo Table
MDA real, sortable table screen readers can navigate by row and column.
Loads more content near the viewport, and refuses to on constrained connections.
- Card ACard B
A zero-JS masonry layout via CSS columns.
A single collapsible section.
TreeView
LGA disclosure tree following the ARIA tree pattern, with one tab stop and RTL-aware arrows.
Contributors Ångström 12 Élodie 30 Zhang 7 A table that sorts text with Intl.Collator, so accents and non-Latin scripts file correctly.
Internationalisation
Live, localised relative time ("3 days ago") with the exact timestamp always available.
- 3 items
Grammatically correct plural forms via Intl.PluralRules, not an English if/else.
- Aisha, Bo, and Chidi
ListText
MD"A, B, and C" formatted correctly for the current locale via Intl.ListFormat.
- $12.50
Locale- and currency-correct money formatting via Intl.NumberFormat.
A native, per-option lang-tagged language switcher.
Mirrors a directional icon (arrows, chevrons) under RTL.
- 3.2 km
UnitText
MDLocale-correct unit formatting (distance, data, temperature) via Intl.NumberFormat.
- 1,234,567
A large number shortened the way the reader's locale shortens it — 1.2K, 1.2万, 12 lakh.
- 5.4 MB
A file size with a translated, locale-positioned unit, in decimal or binary.
- 23rd
An ordinal via Intl.PluralRules — correct at 11th, and silent where suffixes do not apply.
- 6 min read
ReadTime
SMEstimated reading time, in the locale's own digits and word order.
Reply from محمد (3 replies)
BidiText
XSIsolates user-controlled text so a mixed-direction sentence does not reorder around it.
- A headline long enough t…
Truncation that counts user-perceived characters, so emoji and Devanagari clusters are never split.
- Jan 1 – 5, 2026
A date range formatted as one range, collapsing shared parts in the locale's own calendar.
Overlays
Tooltip
SMA hover/focus label bound with aria-describedby, keyboard accessible.
Portal
XSRenders children into document.body, deferred to a client-only mount.
Dialog
LGA modal with a focus trap, Escape to close, and focus returned on exit.
Drawer
LGA modal panel anchored to a screen edge, using logical start/end sides.
Popover
MDA disclosure panel that closes on outside click and Escape.
Menu
MDA dropdown menu following the WAI-ARIA Menu Button pattern.
- Right-click me
A right-click menu also reachable via the keyboard Menu key.
Navigation
Content A
Tabs
MDKeyboard-navigable tabs whose arrow-key direction flips correctly under RTL.
A landmark trail with the current page marked aria-current.
Page controls with locale-correct numerals.
- Cart (step 1 of 3, complete)
- Shipping (step 2 of 3, current)
- Payment (step 3 of 3, upcoming)
Stepper
SMA wizard's progress, with each step's status in its accessible name.
Appears after scrolling a screenful; honours reduced motion.
A reading-progress bar with a real accessible value.
A jump-list that tracks the visible heading via IntersectionObserver.
A shortcut reference dialog inheriting the focus trap every overlay gets.
A keyboard-first fuzzy launcher following the ARIA combobox pattern.
Navbar
SMA labelled nav landmark with the current page marked aria-current.
Footer
SMA simple site footer with locale-aware link list.
Sidebar
SMA landmark navigation column with a logical-side active indicator.
SkipLink
SMThe page's first focusable element, visible only once focused.
Skip links for every landmark, giving sighted keyboard users the rotor screen readers already have.