> 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/page-control.md).

# Page Control

Page controls are used for navigating between multiple pages or sections within a carousel or paginated view. They typically display a series of dots or indicators representing the number of pages.

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2FSJpuzf4JZ4RoN1DofzYV%2FFrame%2046.png?alt=media&amp;token=e4506a24-3c35-4948-b5dc-69c70d4f4263" alt="" width="330"><figcaption></figcaption></figure>

## Overview

Page controls enable quick navigation between sequential sections or views in paginated or carousel interfaces. They serve as a visual indicator, showing the number of pages and the current active one.

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

## When to use

* Page controls are often used in mobile or tablet interfaces to allow swipe-based navigation between views.&#x20;
* Use page controls to allow users to navigate between pages in a multi-page carousel or content section.&#x20;
* Ideal when users need to view multiple sections of content without scrolling, such as image galleries.&#x20;
* For onboarding flows or multi-step wizards, page controls can visually track user progress.&#x20;
* When space is limited, page controls provide a compact solution for navigating content.

## When not to use

* Do not use page controls if the number of pages exceeds a reasonable limit (more than 10), as they can become cluttered.&#x20;
* If each page requires detailed contextual information, use a different form of navigation to provide more clarity.&#x20;
* If the content doesn't require user interaction or page switching, page controls may not be necessary.&#x20;
* If you have enough space for more detailed navigation elements, such as a tab bar or buttons, page controls may not be the best choice.

## Types

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2FpGRPgMwC549jOR4lE508%2FVariants.png?alt=media&amp;token=2523c033-4295-4906-b41a-ed181a560361" alt=""><figcaption></figcaption></figure>

## Anatomy

1. **Active Dot:** The current page or section is indicated by a highlighted dot, differently colored for emphasis.&#x20;
2. **Inactive Dot:** Represents the other available pages or sections, dimmed to distinguish from the active page.&#x20;
3. **Container:** The outer structure that holds all the page control indicators.

<figure><img src="https://1456965416-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOHrijNlCiWxhWuZ7eBdg%2Fuploads%2FZJGDHIVo73ZroHEGhEjp%2FAnatomy.png?alt=media&amp;token=7fea54cf-c883-4805-86ba-5366021eaecf" 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%2FoKNXQjh21mBuXAs8g5B7%2FStyle.png?alt=media&amp;token=deb3b0ca-7bbb-4e87-a22d-ee093fb9328a" 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%2FKD8X4sisfk9SjvAMOETc%2FState.png?alt=media&amp;token=2e61d345-2949-42a2-85fa-9dafe2b5886d" 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%2F3pGfSwICcutPmJjkVO05%2FSize.png?alt=media&amp;token=fb52c4a7-774a-431f-ba16-47ca0565ca2a" alt=""><figcaption></figcaption></figure>

| Size    | Dot (px) | Container Height (px) |
| ------- | -------- | --------------------- |
| Default | 8        | 24                    |
| Large   | 10       | 34                    |

## Accessibility

* **Keyboard Navigation:** Ensure that users can navigate between pages using keyboard input, such as arrow keys or tabbing through the indicators.&#x20;
* **Screen Reader Support:** Each page control indicator should be labeled for screen readers, indicating the current page and the total number of pages.&#x20;
* **Responsive Design:** The page control should adapt to different screen sizes to maintain clear visibility on both desktop and mobile devices.&#x20;
* **High Contrast for Visibility:** Ensure that active and inactive dots have enough contrast for easy differentiation by users with visual impairments.&#x20;
* **Size and Spacing:** Make sure the dots are large enough to tap or click comfortably, with appropriate spacing for touch devices.

## Example

* **Image Carousel:** For a product gallery, page controls can be used to switch between different product images.&#x20;
* **Onboarding Flow:** In a step-by-step onboarding process, page controls can represent the user’s progress through the steps.&#x20;
* **Mobile App Sliders:** Page controls are often used in mobile app sliders for users to swipe between different content sections.&#x20;
* **Tutorial Screens:** In an app tutorial, use page controls to guide users through the various instructional slides.
