Navigational Tabs

Navigational Tabs group related pages or sections within the same product. Selecting a tab loads a new page or URL route, while keeping users within the overall navigation experience.

Best Practices

Use Navigational Tabs
  • When content is part of a larger app or page structure and switching tabs routes to a new view or URL
  • To represent persistent destinations that remain visible and accessible in a consistent location
  • To direct user to emails or phone numbers, like DLS@aexp.com
  • To help users navigate between related, parallel sections within the same overall experience
  • When tabs are placed within a consistent layout or hierarchy, especially if desktop or tablet contexts
  • When tab labels are concise (1–2 words), scannable, and clearly communicate the destination
  • If switching between them doesn’t require saving form data or confirming unsaved changes
Don’t use Navigational Tabs
  • When content toggled is part of the same screen and does not require navigation; use Segmented Control instead
  • If users need to interact with content while switching; use Menus or Filters instead
  • When there are too many tabs to fit comfortably; consider Vertical Navigation, Menu, or Overflow Menu
  • If tab labels require long descriptions to be clear
  • When tab navigation would create deep hierarchies or nesting; restructure to avoid complexity
  • If switching between them could cause unexpected data loss (unsaved work); add a confirmation step or use a different navigation pattern

Variations

Nav Tabs Default Nav Tabs Compact

Recommendations

Labels

Do this
Do labels for nav tabs
  • Use clear, concise text that reflects the destination
  • Keep labels short and scannable (ideally 1-2 words, ~17 characters)
  • Make labels descriptive enough so users understand what content the Navigational Tab will load
  • Maintain consistent terminology with the page titles or headings they link to
Don’t do this
Dont labels for nav tabs
  • Use vague labels like “Click Here” or “Learn More” that fail to communicate the destination or purpose of the tab
  • Use placeholder or generic text
  • Use all caps, this reduces readability
  • Make labels so long they truncate; if more words are needed use another component
  • Create labels that are inconsistent with page headings or routes, as this can confuse users
Why can't I remove the label

Removing the label from the Navigational Tabs violates WCAG 1.3.1 - Info and Relationships and WCAG 4.1.2 - Name, Role, Value, resulting in inaccessible experiences for assistive tech users. Never rely solely on visual design or color alone to convey purpose of a Tab. Without a visible or programmatically associated label, screen readers cannot announce the correct name or role of the tab, leaving users unsure of its purpose of destination.

Layout

Do this
Do layout for nav tabs
  • Center-align tabs within their container to maintain consistent visual balance across the interface
  • Maintain consistent spacing and passing so tabs feels visually balanced and aligned across breakpoints
  • Keep active tab indicator centered directly beneath the label to reinforce clarity and focus
Don’t do this
Dont layout for nav tabs
  • Offset or stagger tab positions; as misalignment breaks visual rhythm
  • Truncate lables so that meaning is lose; use shorter, clearer labels
  • Modify tabs to collapse unevenly or shift alignment at different breakpoints

Similar Components

ComponentUse WhenAvoid WhenPerformance NoteAccessibillity
Segmented ControlFiltering between alternative views of similar or related contentEach view requires a unique URL or separate routeMinimal impact; limit number of segments to prevent UI overloadUses button and role radio, keyboard arrow navigation
TabsSwap content within the same page; no route viewsSections are unrelated, require separate URLs or deep navigationAvoid placing large volumes of content in each tab as heavy page loads impact performanceUses semantic tab pattern, role === tab and aria selected
Navigational TabsSections are part of the same feature / topic but rout to different viewsSection requires deep hierarchies, heavy loads or duplicate primary navigationOptimize route changes/API calls for smooth transitionsUses links with appropriate href for routing, aria-current= page for active tab

Questions?

Connect with the DLS Team on Slack or by email.

Resources

Check out additional resources.