Progress toward goals
Ratios rather than totals — a ring for the headline, bars for the breakdown.
Live preview
Source
This exact file renders the preview above.
components/blocks/sections/stats/progress-goals.tsx
components/ui/progress.tsx
Demo source — adapt to your project. Foundry is not published as a package.
Usage
Both the ring and the bars are real progressbars with values, so the numbers are available to assistive tech rather than painted on.
- Include at least one incomplete figure. A section where everything is 100% reads as marketing.
- Tone the bars by meaning, not by value — 62% coverage is not automatically a warning.
Variants and states
Every entry below is a genuine difference in behaviour or layout, and every one of them is visible in the preview above.
- Progress ring
- Four bars
- Honest incomplete state
Accessibility
- Progressbar roles
- Ring and bars both expose min, max and current value.
- Value text
- Percentages are announced as text, not inferred from bar width.
Foundry implements published ARIA patterns and is tested against them. No WCAG certification is claimed — see the accessibility documentation for what is and is not covered.
Related
All sectionsProgress
Determinate and indeterminate progress as a bar or a ring, with four tones.
starter5 variantsProcess as a live checklist
Phases with real completion states, including one honestly incomplete.
starter3 variantsStatistics with context
Numbers on one side, the argument they support on the other.
starter3 variants