
A page control is a navigational user interface (UI) component — typically a row of small dots, dashes, or indicators — that shows a user two things at once:
You'll encounter page controls most often in mobile app onboarding flows, image carousels, and product galleries. They're a small component, but they do important work: giving users a sense of how much content exists or how far through it they are.
Page controls appear across a wide range of UI contexts. The four most common are:
In ecommerce, page controls serve as both a navigation aid and a signifier — telling users that more images exist and can be accessed by swiping. This is often the case on homepage image carousels and sliders highlighting promotional information.
On a product detail page, dots beneath the main product image are the standard mobile pattern for indicating additional views.
"When implemented with care, carousels are a powerful way to promote features, offers, and popular product types. Yet, carousels can cause more harm than good if serious usability issues aren’t addressed."
– Edward Scott, Research Lead, Baymard Institute

Hero banners, featured article carousels, and promotional content sliders on marketing pages frequently use page controls to indicate position within the set. These are often auto-advancing, making it especially important that the active indicator updates in real time. Note that autorotation is not recommended for mobile shopping experiences.
When a user first opens an app, they're often guided through a series of introductory screens explaining features and value. Page controls sit at the bottom of these screens, showing users how many steps exist and confirming they're making progress. The expectation here is reassurance — users want to know the sequence is finite and that they're nearly through it. Duolingo and Airbnb both use page controls prominently in their onboarding flows.

Page controls can indicate position within a multi-step flow — a sign-up wizard or a checkout process broken into stages. That said, a labeled progress stepper, (showing "Step 3 of 5: Delivery address" like the example above) is usually more appropriate here, as it provides context that plain dots don't.
These four components can look visually similar — especially in their bar and line variants — but they serve meaningfully different purposes:
There are a few distinctions worth calling out. The bar variant of a page control can look almost identical to a tab bar. The difference is function: tabs let users jump freely between non-sequential views; page controls indicate position within a linear, swipeable sequence.
Similarly, the continuous bar variant of a page control can be visually confused with a loading bar or progress indicator — context is the key differentiator. A loading bar represents an ongoing process; a page control represents position within a content set.

Despite its simplicity, a page control is made up of several distinct parts:
The most important visual relationship in a page control is the contrast between active and inactive states. If the two states are too similar — for example, a small difference in opacity on a mid-tone background — users may not be able to determine their current position at a glance.

Page controls can come in a wider range of visual styles than the classic dot pattern. Here are some examples:
Use a page control when:
Avoid a page control when:
Here are some key considerations and tips when implementing page control indicators.
Dots should be large enough to perceive clearly without dominating the interface — an 8–10px minimum diameter is a reasonable baseline, with spacing between indicators at least equal to the dot diameter. Cramped or undersized dots are a common issue on lower-effort implementations and one of the most frequent causes of poor page control UX on mobile.
The active and inactive states must be clearly distinguishable at a glance — particularly on image backgrounds, where a light dot on a light sky or a dark dot on a dark product image can disappear entirely. A semi-transparent backdrop or subtle drop shadow behind the indicator group is an effective solution for variable backgrounds.
A page control with more than 7 or 8 dots stops being a useful position indicator and starts being visual noise. For longer sequences, switch to a numbered style ("3/12") or a progress bar. If you find yourself with too many dots, that's often a signal to reconsider the content structure.
This is the overwhelmingly standard position on mobile, established by Apple's iOS conventions and reinforced by virtually every major app. Users expect to find page controls here. Deviating from this convention — placing indicators at the top, or to the side — introduces unnecessary friction without a compelling reason.
Dots alone don't tell users they can swipe. Combine page controls with visible swipe affordances (partial visibility of the next item at the edge of the screen) or previous/next arrow controls to make the interaction model clear, especially for first-time users or older audiences.
When a user swipes to the next page, the active indicator should animate smoothly to the new position. A static jump between states feels broken and fails to reinforce the sense of lateral movement. Even a simple 150–200ms transition makes a meaningful difference to the feel of the component.
Accessibility is an area where page controls frequently fall short. Poor visual design and styling can make it difficult for users with visual impairments to access and understand information on a site.
The visual simplicity of page control dots can mask a lack of underlying structure for assistive technologies. Here’s how to ensure you maintain accessibility in any page control UI.
A page control should be marked up with role="tablist" on the container, with each indicator as a role="tab". Each indicator should carry an aria-label that communicates both its page number and the total — e.g. aria-label="Slide 2 of 5". The active indicator should carry aria-selected="true".
Users navigating by keyboard should also be able to move between carousel pages using the left and right arrow keys. This is particularly important on desktop implementations where swipe is unavailable.
The WCAG 2.1 non-text contrast guidelines require a minimum contrast ratio of 3:1 between UI components and their adjacent colors. Active and inactive indicator states must both meet this threshold.
For color blind users, a difference in fill color between active and inactive dots may be imperceptible. Differentiation via size, shape, or outline ensures the active state is distinguishable regardless of color perception.
Apple's built-in UIPageControl includes accessibility support out of the box — VoiceOver announces the current page and total when the component is focused. Custom implementations on web or Android need to replicate this behavior manually.
European Accessibility Act 2025
Accessibility is particularly important for businesses operating in the European Union (EU), as they must comply with the European Accessibility Act 2025.

Many ecommerce websites use homepage carousels to highlight key categories, promotional offers, and supplementary content. The Petco example above does this well, and is a best practice example of a homepage carousel that adheres to user expectations.
However, Baymard’s research shows that homepage carousels can actually cause user friction.
"If carousel controls aren’t easy to discern, some users will be unable to pause autorotation or to manually navigate through the slides. Others who spot the controls may have difficulty interacting with them if they have small hit areas."
– Edward Scott, Research Lead, Baymard Institute
Here are some tips on proper implementation (if you implement them at all).
Baymard’s usability testing has uncovered that carousels are often overlooked, hard to interact with, and especially problematic when they autorotate.
On desktop, if autorotation exists at all, it requires restraint:
But the stronger recommendation is simpler: don’t autoplay homepage promos; let the user manually rotate using the page control UI.
On mobile, you should avoid autorotation entirely. This is a well-documented usability problem: users fail to discover content, lose control of the interface, and can get pulled into unintended detours.
If a homepage carousel survives, its controls should be unmissable. Subtle dots and faint arrows are a bad fit here because homepage users are scanning broadly and won’t invest effort in decoding weak controls.
Baymard’s guidance is to use prominent manual controls with sufficient size and contrast, placed at the sides of the carousel. On mobile, controls also need to be easy to tap and paired with swipe support.

Baymard’s usability testing reveals that users frequently miss or ignore content in carousels and product image galleries due to poor control design. That’s because 32% of sites that use carousels implement them incorrectly.
Product image galleries are among the most common and highest-stakes homes for page control in ecommerce. On a product detail page, the image gallery is often the first thing a shopper engages with.
Page controls play a dual role here: they communicate position, and they signal that more images exist.
To ensure users can effectively explore visual content, prioritize "information scent" and clear signposting over minimalist aesthetics.
Dots communicate quantity, but thumbnails communicate content. Baymard’s research shows that without thumbnails being present, users (particularly on desktop devices) tend to overlook additional images.
In product galleries, therefore, thumbnails are the most effective control because they allow users to jump directly to specific details (e.g., a close-up of a fabric or an alternative product view).
Conversion impact of thumbnails over dots
A very large US retailer that Baymard provided UX audit services for saw a 1% conversion rate increase after changing to use thumbnails instead of dots to indicate additional product images.
Dots are an "orientation" tool, not a navigation tool. They are insufficient as a primary control because they lack information scent and make direct navigation difficult.
Use dots only as a lightweight supplement to show progress (e.g., "Image 2 of 6"). Avoid relying on dots on mobile, where they are easily obscured by fingers or overlooked.
Similar to homepage carousels, autoplaying image gallery carousels reduce user control and often lead to users missing the very content being promoted. For that reason, never place essential information exclusively within a carousel slide.
If used on desktop, rotation must stop immediately upon any user interaction and pause on hover. On mobile, autorotation should be avoided entirely.
Here are some examples from desktop, mobile, and app that show good implementations of page control UI features.

This example from Microsoft’s homepage shows a carousel with clearly defined and prominent controls. As well as the slide indicator, there are forward and back arrow buttons so users can manually navigate to the next or previous slide. Users can also manually stop the autorotation with the pause button, and the carousel also pauses automatically on hover.

Ace Hardware’s homepage carousel on its mobile site aligns with best practice, as it does not automatically rotate. Instead, the user is able to swipe to move to the next slide. Previous and next slides are visibly truncated, showing the user that there is further content to consume.
The page control container is clearly visible, and the active slide shows an elongated pill in a different color to show the active state.

Guitar Center’s product image galleries are user friendly, providing several visual indicators and controls to ensure images aren’t overlooked and that users can easily navigate through the image set.
Thumbnails are used to represent additional product images, with prominent arrow controls allowing shoppers to move through the gallery easily.

Marks & Spencer’s app features a carousel on its homescreen. The carousel page control is clearly visible (white squares on the image), and is controlled via a manual gesture (swipe). This aligns with the best practice of not having an autorotating carousel on mobile screens.
Looking for more UX design inspiration and evidence-backed insights to help back up your recommendations? Sign up for Baymard for free to get access to our UX research, best practice guidelines, benchmarks, and more, based on 200,000+ hours of usability testing.
The dots at the bottom of a carousel are called a page control, carousel indicators, or pagination dots. They're a UI component that shows how many slides or pages exist in a sequence and which one is currently visible. The term "page control" comes from Apple's iOS, where the component is a native element called UIPageControl.
Between three and seven dots is generally the sweet spot for a page control to remain readable and useful. Beyond seven or eight dots, the indicators become difficult to parse quickly and lose their value as a positional signal. For sequences with more pages, consider switching to a numbered indicator ("2/10") or a different navigation pattern entirely.
UIPageControl is Apple's native iOS component for displaying a row of dots that indicate position within a paged sequence. It's built into UIKit and provides out-of-the-box support for dot indicators, active state styling, and VoiceOver accessibility. The visual convention it established — small dots, filled active state, bottom-centred — has become the accepted standard for page controls across mobile platforms.
A page control indicates a user's position within a fixed set of pages or slides — it tells you where you are, not how far through a task you are. A progress bar indicates completion through an ongoing process, such as a file upload or a form submission. The continuous bar variant of a page control can look similar to a progress bar, but the context makes the distinction clear: page controls navigate content, progress bars track processes.
Research Director and Co-Founder
Christian is the research director and co-founder of Baymard. Christian oversees all UX research activities at Baymard. His areas of specialization within ecommerce UX are: Checkout, Form Field, Search, Mobile web, and Product Listings. Christian is also an avid speaker at UX and CRO conferences.