bit Bheadless

Accessibility Utilities

The low-level building blocks the components are made of — hidden labels, separators, live regions, announcements, hotkeys, focus scopes, reading direction and roving focus.

Implementation: CSS Tailwind

Visually hidden

BitBhVisuallyHidden keeps text in the accessibility tree while hiding it — the names of icon-only buttons. Focusable="true" reveals it while focused: Tab into this demo to uncover the skip link.

Skip to content
Main content — the skip link moves focus here.

Separator

Semantic separators render role="separator" (+ aria-orientation="vertical"); Decorative="true" renders role="none". Style both with data-orientation-*:.

bit Bheadless

Unstyled, accessible components for Blazor.

Docs Source Changelog
or

Live regions

BitBhLiveRegion exists from the first render, so content changes are announced — politely (role="status") or assertively (role="alert"). VisuallyHidden="true" announces without showing.

Announcer

Inject IBitBhAnnouncer and call AnnounceAsync for fire-and-forget messages — it writes to one shared, visually hidden live region. The log only mirrors what a screen reader hears.

Notebook
Fountain pen
Desk lamp
Cart: 0 item(s)
  1. Nothing announced yet.

Hotkeys

BitBhHotkey registers a global shortcut while rendered (mod = ⌘ on Apple, Ctrl elsewhere). Shortcuts without Ctrl / ⌘ are ignored in text fields unless AllowInInputs is set. Try Ctrl+K and ?.

Last shortcut: (none)

Focus scope and focus trap

BitBhFocusScope auto-focuses its content, traps (Trapped) or wraps (Loop) Tab, and restores focus when it deactivates. BitBhFocusTrap = trapped by default. Save, Cancel or Escape return focus to "Edit profile".

Ada Lovelace [email protected]

Reading direction

BitBhDirectionProvider cascades the direction to every component below it: in RTL, ArrowLeft moves to the next radio or tab. Set the HTML dir attribute too so the layout mirrors.

Overview — focus a tab and press the arrow keys.

Roving focus

BitBhRovingFocusGroup + BitBhRovingFocusItem give your own composite widgets a roving tabindex: one Tab stop, arrow keys / Home / End between items, disabled items skipped. Give the group the role that fits — here a toolbar of toggle chips.

Filters: Engineering
An unhandled error has occurred. Reload 🗙