Wayfinding
Progress Bar
The Progress Bar visually represents the completion of a task or process. It provides users with a clear indication of progress, helping them understand how far along they are in a flow or operation.
🧭 When to Use a Progress Bar
Use a Progress Bar when:
Users need to see how much of a process is complete (e.g., uploading, onboarding, loading a dashboard)
The task takes a noticeable amount of time or consists of multiple steps
Feedback is needed to reduce perceived wait time or indicate system activity
Avoid using a Progress Bar for ultra-fast tasks or when there's no clear start/end. Use a Loader in those cases.
🎯 Completion Levels
This component includes 10 predefined completion states from 10% to 100% in 10% increments. Each level accurately reflects the fill width, using auto-layout and Figma constraints for consistency.
Completion options:
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
You can toggle between these completion levels via variants or smart layer swapping.
🎨 Display Types
Default (No Label) – A clean progress bar with no text. Ideal for compact UIs or visual-only feedback.
With Label – Displays percentage completion (e.g., “70%”) inside or above the bar. Best for forms, onboarding, or reporting dashboards where users benefit from precise feedback.
Each label is dynamically linked to the selected progress value for consistency.
🌈 Color Modes
Color – Uses a semantic success-style color to indicate positive progress (green by default). Can be overridden for use cases like warnings or loading states.
Neutral – Uses a muted gray or neutral tone. Ideal when progress is non-critical or visual emphasis isn’t required.
Switch between color modes via Figma variants or token overrides.
🧩 Adjust Gap Variant
The Adjust Gap variant allows designers to manually control the width of the progress fill via a special layer property.
Use this when:
You want a custom percentage not provided in the 10% steps
You're visually demonstrating dynamic loading
You want to fine-tune alignment or fill within fixed-width designs
The fill width is adjusted manually by resizing a named layer called Gap Adjust
within the bar component. All corner radius, padding, and background properties remain intact.
♿ Accessibility Considerations
From a design perspective:
Use color + label together when possible—don’t rely on color alone
Ensure sufficient contrast between the fill and background (especially in dark mode)
From a code perspective (if implemented):
Use
role="progressbar"
and includearia-valuenow
,aria-valuemin
, andaria-valuemax
When using labels, make sure screen readers can read the value (e.g., “70 percent complete”)
✅ Best Practices
Only show a progress bar when completion time is long enough to need feedback
For multi-step forms, combine with page numbers or step indicators
Keep fill animations smooth and aligned with system timing tokens
Always ensure that custom width adjustments preserve visual alignment
Welcome Aboard
© Copyright 2024. All rights reserved.