+234 Design System

Route progress

A thin bar across the top while the next page is fetched. Two pixels of honesty about a slow connection.

Mid-navigation, held at 70 per cent

The bar sits at the very top of the viewport in use. Shown inside a box here.

HTML
<div style="position:relative;height:3rem;background:var(--p234-color-paper-sunk);border-radius:var(--p234-radius-sm);overflow:hidden">
  <div class="p234-progress" style="position:absolute;transform:scaleX(0.7)"></div>
  <p style="font-family:var(--p234-type-caption-family);font-size:var(--p234-type-caption-size);color:var(--p234-color-ink-subtle);margin:0;padding:var(--p234-space-5)">The bar sits at the very top of the viewport in use. Shown inside a box here.</p>
</div>

How it should behave

Reduced motion

With prefers-reduced-motion the bar still appears and still fills, it just stops sliding. Removing the indicator entirely would take away the only signal that a tap registered, which is the opposite of the accommodation.

Why keep it

Most readers are on a phone, often on a slow connection. Without this, a tap that is working looks like a tap that did nothing, and the reader taps again.

Tokens this component reads

--p234-color-brand--p234-z-overlay--p234-motion-duration-base--p234-motion-easing-standard