Tabs

/TABZ/ · noun · NAV pattern · #075

A row of labels across the top of a section, each opening its own panel in the same spot. Peers only — if one tab makes no sense without another, they belong on one page.

Tabs UI pattern example: CatchUI's curated specimen

Also called: top tabs, tabbed interface, tab strip, tab navigation.

You might call it

  • “the tabs at the top of a page”
  • “the labels you click to switch sections”
  • “the underlined headings that switch content”
  • “top tabs in an app”
  • “tabbed sections on a website”

…its name is Tabs.

Common questions

What are tabs in UI design?

Tabs are a row of labels that each open a different panel in the same area, so people can switch between related views without leaving the page — like Overview, Reviews and Specs on a product page. Only one panel shows at a time, and the selected tab is marked.

Tabs vs tab bar: what is the difference?

Tabs sit at the top of a section and switch panels within one screen. A tab bar sits at the bottom of a phone app and switches between the app’s main destinations, such as Home, Search and Profile. On iPhone, Apple’s “tab bar” is the bottom one; Material Design calls the top kind tabs.

In code

SwiftUI / UIKit No top-tab component — TabView and UITabBarController are the bottom tab bar; Apple uses a segmented control here
Jetpack ComposePrimaryTabRow Tab HorizontalPager
Android (Views)TabLayout ViewPager2 TabLayoutMediator
FlutterTabBar TabBarView DefaultTabController
Web (HTML / ARIA)role="tablist" role="tab" role="tabpanel" aria-selected

Prompt for your AI coding tool

Add tabs to this section: a row of short labels across the top, one per panel, with the selected tab clearly marked (an underline or filled background) and only its panel shown below. Follow the ARIA tabs pattern — role="tablist", role="tab" with aria-selected and aria-controls, role="tabpanel" — so arrow keys move between tabs and Tab moves into the panel. Keep the tabs to peers of the same kind, and let the row scroll sideways on small screens instead of wrapping.

More UI words to use when vibe coding →

Related patterns

Scan a screenshot to catch this pattern →

Learn how to identify UI patterns from visual context