Navigation
Wayfinding for every surface: glass chrome bars along the edges,
sidebars and rails for dense apps, menus and palettes for commands,
breadcrumbs and steppers for orientation. Every piece marks the
current location from the same accent token — .is-active
for looks, aria-current and aria-selected
for meaning.
Sidebar
.b-sidebar stacks grouped items with uppercase headings —
the pattern for apps with many destinations (this docs site uses one).
Items take an optional icon and a trailing .b-badge for
counts; add .b-sidebar--surface when it needs its own
background and end hairline. Boxed here at a fixed height to show the
built-in scroll.
.is-active plus
aria-current.Tab Bar
.b-segmented is the iOS-style segmented control: pill
segments on a recessed fill, the selected one lifted on a white chip.
Use it to switch views of the same content (Day / Week /
Month); use underline Tabs for page-level
sections. .b-segmented--block stretches it full width.
Both .is-active and [aria-selected="true"]
light a segment.
Tabs
Underline tabs for sectioning a page. Wrap everything in a
data-b-tabs container, give triggers
role="tab" and panels role="tabpanel", and
mark the initial tab aria-selected="true" —
barua.js wires selection, panel visibility and the
roving tabindex from there. The tab list scrolls horizontally when it
overflows.
main, most recently "Polish glass
materials".
barua.js), and Tab jumps from the tab list
into the visible panel. Each panel is labelled by its tab via
aria-labelledby; hidden panels get the
hidden attribute, so they vanish from the accessibility
tree too.Breadcrumbs
A trail from root to here, separated by hairline chevrons. Use them
in hierarchies deeper than two levels; the last crumb is the current
page — give it aria-current="page" and no link.
Pagination
Numbered page controls with tabular figures so widths never jitter.
The current page fills accent via .is-active or
[aria-current="page"]; collapse long runs with
.b-pagination__ellipsis.
<nav aria-label="Pagination">, put
aria-current="page" on the current page (the CSS lights
it up from that attribute alone), label the chevron-only prev/next
controls with aria-label, and hide the decorative
ellipsis with aria-hidden="true".Stepper
.b-steps shows progress through a linear flow. Each
li carries its number in data-step;
.is-complete swaps it for an accent checkmark and fills
the connector, .is-active rings the current step. Keep
labels to one or two words.
- Account
- Shipping
- Payment
- Review