Skip to main content
Pricing

Progress Ring

Pro

A circular progress indicator that displays completion as a ring stroke. The ring fills clockwise from the top as the value increases. Used for compact progress displays within cards, dashboards, and profile completion meters. Supports an optional centre label showing the percentage or a custom value.

6 variants

Value
25%

Variants

VariantDescriptionWhen to use
SmallCompact ring without a centre label for inline use.Use within table cells, list items, or tight layouts where space is limited.
Medium
LargeLarger ring with a prominent centre label for hero metrics.Use as a focal point in dashboard cards or summary sections.

Usage Guidelines

Do

Include role="progressbar" with aria-valuenow, aria-valuemin, and aria-valuemax.

Don't

Use for time-based loading — use Spinner instead.

Do

Display the percentage or metric value in the centre label for sighted users.

Don't

Animate the ring counter-clockwise — it conflicts with reading direction conventions.

Do

Use a smooth CSS transition on the stroke-dashoffset for visual continuity.

Don't

Show a ring at 0% without context — it looks like an empty circle.

Do

Provide an accessible name describing what the ring measures.

Don't

Code

This component is included in Lexicon Pro

From €149 — one-time purchase, lifetime access

View pricing

Design Tokens

This component is included in Lexicon Pro

From €149 — one-time purchase, lifetime access

View pricing

Accessibility

  • Requires role="progressbar" with aria-valuenow, aria-valuemin, and aria-valuemax.
  • Provide aria-label describing the metric — "Profile completion" not just "Progress".
  • The SVG ring is decorative from an accessibility standpoint — the ARIA attributes convey the value.
  • Update aria-valuenow when the value changes dynamically.

Keyboard Interactions

N/AProgress rings are not interactive and do not receive focus.