> For the complete documentation index, see [llms.txt](https://voit.gitbook.io/voitdocs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://voit.gitbook.io/voitdocs/components/progress-indicator.md).

# Progress Indicator

Progress indicators show the steps or stages in a process, helping users understand where they are and what steps remain. They provide visual feedback on the progress of multi-step tasks or workflows.

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2FHCn6D1ZEVFWRfuEYYZmV%2FFrame%2045.png?alt=media&amp;token=606ec3d3-b5c8-408f-9a9a-afb10f6b42b5" alt=""><figcaption></figcaption></figure>

## Overview

Progress indicators help users navigate through staged processes, such as checkouts or onboarding flows, by clearly displaying each step and the overall progress.

{% embed url="<https://www.figma.com/design/4NwKhd4dwRhRF5Zpiooi69/Components?node-id=393-68863&t=0Thv0LIO2gFzE3eo-4>" %}

## When to use

* Use in onboarding flows to show users how far they’ve come in setting up their profile or completing necessary tasks.&#x20;
* When users need to move through several stages, like shipping, payment, and confirmation, progress indicators provide clarity and keep users informed.&#x20;
* For software or application installation processes that involve multiple steps, progress indicators help users understand how far they are from completing the setup.&#x20;
* When users engage in workflows with multiple interdependent stages (e.g., setting up a project), progress indicators offer a structured view of the task's entirety.

## When not to use

* For simple actions that complete in one step (e.g., submitting a form), a progress indicator would be unnecessary and clutter the interface.&#x20;
* If the number of steps required can change dynamically or is unclear, progress indicators may mislead users and cause frustration.&#x20;
* Avoid using progress indicators for processes that don't follow a strict sequential order, as they may confuse users by implying an expected progression.&#x20;
* When a process is running in the background or doesn't require direct user interaction, progress indicators are likely not the right tool.

## Types

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2FyhsshWyngbHOPNy6r3QU%2FProgress%20Status%20-%20variants.png?alt=media&amp;token=ac4fb16f-88f1-4312-abe1-b4399577572c" alt=""><figcaption></figcaption></figure>

## Anatomy

1. **Connector Line:** A visual link between steps showing their relationship, represented as a line.&#x20;
2. **Progress Status:** This element shows the current status of each step, which could be a number, icon, checkmark, or empty state for uncompleted steps.&#x20;
3. **Label:** Descriptive text for each step, helping users understand the nature of each stage.&#x20;
4. **Description:** Optional text providing more context about each step, useful for complex processes.

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2FMZZNQB8B48peMyARCfUj%2FAnatomy.png?alt=media&amp;token=56b4999d-b621-4a4d-bbf2-9ac6c719110b" alt=""><figcaption></figcaption></figure>

## Styles

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2FavOZE10DlpWV14wFQwOa%2FProgress%20Status%20-%20Styles.png?alt=media&amp;token=3184b346-2d44-4090-8ed8-4a4ae830f2ae" alt=""><figcaption></figcaption></figure>

## States

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2FiZM38ogN2HCOGBQIGSu2%2FStates.png?alt=media&amp;token=4816940d-efa3-47da-9686-d23364ff59d1" alt=""><figcaption></figcaption></figure>

## Layout

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2FFLNIBWXDPHDF3YsZOx3U%2FLayout.png?alt=media&amp;token=f1769eee-cb23-45ef-92f1-90363255c43a" alt=""><figcaption></figcaption></figure>

## Icon Placement

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2Fe4hSgagqgBuPEaTjUAch%2FIcon%20Placement.png?alt=media&amp;token=49049332-5494-478a-aab5-f56c5885a8f9" alt=""><figcaption></figcaption></figure>

## Size

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2FtyDJunt7k3aEo4vOGPM2%2FSize.png?alt=media&amp;token=a4df6223-f747-432e-a197-5399ad1ad1f6" alt=""><figcaption></figcaption></figure>

| Size    | Text (px) | Icon (px) | Container Height (px) |
| ------- | --------- | --------- | --------------------- |
| Default | 16        | 24        | 40                    |

## Accessibility

* **Keyboard Navigation:** Ensure that all steps in the progress indicator can be navigated using a keyboard, particularly for users who cannot rely on a mouse for interaction.&#x20;
* **Clear Labels for Each Step:** Each step in the progress indicator should be clearly labeled for screen readers, helping visually impaired users understand where they are in the process.&#x20;
* **High Contrast and Visibility:** Use contrasting colors to differentiate between completed, current, and upcoming steps. Ensure all steps are easily distinguishable for users with color blindness.&#x20;
* **Announcing Step Transitions:** Provide appropriate feedback when users transition between steps, including status updates for assistive technology like screen readers.&#x20;
* **Consistency Across Devices:** Progress indicators should behave consistently across mobile, tablet, and desktop platforms, maintaining clear step labeling and interaction.

## Example

* **Multi-Step Checkout:** Use progress indicators to display the stages of a checkout process, from cart review to payment and confirmation.&#x20;
* **Survey Completion:** Display the steps in a survey or questionnaire, helping users understand how many questions they have left to answer.&#x20;
* **Account Setup:** During user account setup, progress indicators guide users through tasks like adding profile information and preferences.&#x20;
* **Project Management Tools:** In project tools, progress indicators help users track the completion of various phases or tasks in a multi-stage project setup.&#x20;
* **Software Installation:** When installing software, progress indicators show each step in the installation process, such as system checks, downloads, and configuration.
