RRigdesign system
Feedback

Progress bar

Completion of a sequence, from 0 to 100%.

Examples

Upload
60%
Storage used
92%
Sync
100%

Anatomy

Progress bar anatomy
#PartDescriptionPresence
1LabelWhat is progressingRequired
2Track4px radiusRequired
3FillGradient or status colourRequired
4ValuePercentage in textRequired

Specifications

Height34px, locked to align in tables
Track radius4px
Variants11 steps (0 to 100% in tens)
Light contrastSlate-200 track with Slate-700 text, 4.5:1

Interaction

Keyboard
KeyResult
NoneNot interactive
Pointer and touch
TriggerResponse
UpdateFill width animates in 300ms

Accessibility

role · progressbar

1.4.1Use of Colour1.4.11Non-text Contrast4.1.2Name, Role, Value
Requirements
RequirementHow Rig meets it
Rolerole="progressbar" with aria-valuemin, aria-valuemax, aria-valuenow
Namearia-labelledby points at the visible label
Unknown durationOmit aria-valuenow for an indeterminate bar
ColourStatus colours must also show a number or word
UpdatesDo not announce every percent; announce completion

Read the matching WAI pattern ↗

Usage

Do and don’t
DoDon’t
Show the numeric valueDo not use colour alone to say a bar is almost full