Tab Organization Patterns
Tab organization varies by project type and audience. Here are real-world patterns that work well.
Pattern 1: Simple Linear Journey
Used by: Getting started guides, onboarding docs
[Step 1] [Step 2] [Step 3] [Step 4] [Reference]
Configuration:
groups: [
{ id: "step1", label: "Installation", tab: true, entries: [...] },
{ id: "step2", label: "Configuration", tab: true, entries: [...] },
{ id: "step3", label: "First Project", tab: true, entries: [...] },
{ id: "step4", label: "Deployment", tab: true, entries: [...] },
{ id: "reference", label: "Reference", tab: true, autoGenerated: true },
]
Use when:
- Clear sequence users follow
- Each tab builds on previous
- Goal is to guide, not reference
Pattern 2: Hub and Spoke
Used by: Enterprise platforms, complex products
Center Hub (Default):
[Getting Started] <- Default landing
Spoke 1: [Product A] [Features] [API]
Spoke 2: [Product B] [Features] [API]
Spoke 3: [Product C] [Features] [API]
Configuration:
tabGroups: [
{
id: "onboarding",
label: "Getting Started",
tabs: [
{ id: "intro", label: "Introduction", ... },
{ id: "setup", label: "Setup", ... },
],
},
{
id: "product-a",
label: "Product A",
tabs: [
{ id: "pa-features", label: "Features", ... },
{ id: "pa-api", label: "API", ... },
{ id: "pa-guide", label: "Guide", ... },
],
},
{
id: "product-b",
label: "Product B",
tabs: [
{ id: "pb-features", label: "Features", ... },
{ id: "pb-api", label: "API", ... },
{ id: "pb-guide", label: "Guide", ... },
],
},
]
Use when:
- Multiple products/services
- Each has own documentation
- Central entry point matters
Pattern 3: Layered Approach
Used by: Technical documentation, complex systems
Group 1: Fundamentals
ββ [Concepts]
ββ [Getting Started]
ββ [Examples]
Group 2: Reference
ββ [API]
ββ [CLI]
ββ [Configuration]
Group 3: Advanced
ββ [Architecture]
ββ [Performance]
ββ [Security]
Configuration:
tabGroups: [
{
id: "fundamentals",
label: "Fundamentals",
tabs: [
{ id: "concepts", label: "Concepts", ... },
{ id: "getting-started", label: "Getting Started", ... },
{ id: "examples", label: "Examples", ... },
],
},
{
id: "reference",
label: "Reference",
tabs: [
{ id: "api", label: "API", ... },
{ id: "cli", label: "CLI", ... },
{ id: "config", label: "Configuration", ... },
],
},
{
id: "advanced",
label: "Advanced",
tabs: [
{ id: "architecture", label: "Architecture", ... },
{ id: "performance", label: "Performance", ... },
{ id: "security", label: "Security", ... },
],
},
]
Use when:
- Documentation spans skill levels
- Clear progression: basic -> intermediate -> advanced
- Audience skips sections based on expertise
Pattern 4: Audience-Centric
Used by: SaaS products, platforms
Group 1: Users
ββ [Getting Started]
ββ [How-To]
ββ [FAQ]
Group 2: Developers
ββ [API]
ββ [SDKs]
ββ [Webhooks]
Group 3: DevOps
ββ [Installation]
ββ [Scaling]
ββ [Monitoring]
Configuration:
tabGroups: [
{
id: "for-users",
label: "For Users",
tabs: [
{ id: "user-start", label: "Getting Started", ... },
{ id: "user-how-to", label: "How-To Guides", ... },
{ id: "user-faq", label: "FAQ", ... },
],
},
{
id: "for-developers",
label: "For Developers",
tabs: [
{ id: "dev-api", label: "API Reference", ... },
{ id: "dev-sdks", label: "SDKs", ... },
{ id: "dev-webhooks", label: "Webhooks", ... },
],
},
{
id: "for-devops",
label: "For DevOps",
tabs: [
{ id: "ops-install", label: "Installation", ... },
{ id: "ops-scale", label: "Scaling", ... },
{ id: "ops-monitor", label: "Monitoring", ... },
],
},
]
Use when:
- Different docs for different roles
- Clear audience boundaries
- Audiences have different needs
Pattern 5: Versioned Documentation
Used by: Libraries, frameworks, SDKs
Current Release:
ββ [v3.0 Latest]
ββ [v3.1 Features]
Long-Term Support:
ββ [v2.0 LTS]
ββ [v2.5 Updates]
Legacy:
ββ [v1.0 Deprecated]
Experimental:
ββ [v4.0 Beta]
Configuration:
tabGroups: [
{
id: "current",
label: "Current Release",
tabs: [
{ id: "v3-latest", label: "v3.0 (Latest)", ... },
{ id: "v3-features", label: "v3.1 (Features)", ... },
],
},
{
id: "lts",
label: "Long-Term Support",
tabs: [
{ id: "v2-lts", label: "v2.0 (LTS)", ... },
{ id: "v2-updates", label: "v2.5 (Updates)", ... },
],
},
{
id: "legacy",
label: "Legacy",
tabs: [
{ id: "v1-deprecated", label: "v1.0 (Deprecated)", ... },
],
},
{
id: "experimental",
label: "Experimental",
tabs: [
{ id: "v4-beta", label: "v4.0 (Beta)", ... },
],
},
]
Use when:
- Supporting multiple versions
- Need clear version organization
- Users choose their version immediately
Pattern 6: Feature + Support
Used by: Product documentation, services
Features:
ββ [Core]
ββ [Premium]
ββ [Enterprise]
Support:
ββ [FAQ]
ββ [Troubleshooting]
ββ [Community]
Resources:
ββ [Examples]
ββ [Blog]
ββ [API Reference]
Configuration:
tabGroups: [
{
id: "features",
label: "Features",
tabs: [
{ id: "core", label: "Core", ... },
{ id: "premium", label: "Premium", ... },
{ id: "enterprise", label: "Enterprise", ... },
],
},
{
id: "support",
label: "Support",
tabs: [
{ id: "faq", label: "FAQ", ... },
{ id: "troubleshooting", label: "Troubleshooting", ... },
{ id: "community", label: "Community", ... },
],
},
{
id: "resources",
label: "Resources",
tabs: [
{ id: "examples", label: "Examples", ... },
{ id: "blog", label: "Blog", ... },
{ id: "api", label: "API Reference", ... },
],
},
]
Use when:
- Mixed feature documentation and support
- Clear separation of concerns
- Multiple resource types
Pattern 7: Geographic/Regional
Used by: Global platforms, multi-region deployments
Regions:
ββ [US East]
ββ [US West]
ββ [EU]
ββ [Asia Pacific]
Setup:
ββ [Getting Started]
ββ [Configuration]
Reference:
ββ [API]
ββ [CLI]
Configuration:
tabGroups: [
{
id: "regions",
label: "Regions",
tabs: [
{ id: "us-east", label: "US East", ... },
{ id: "us-west", label: "US West", ... },
{ id: "eu", label: "EU", ... },
{ id: "asia-pacific", label: "Asia Pacific", ... },
],
},
{
id: "setup",
label: "Setup",
tabs: [
{ id: "getting-started", label: "Getting Started", ... },
{ id: "configuration", label: "Configuration", ... },
],
},
{
id: "reference",
label: "Reference",
tabs: [
{ id: "api", label: "API", ... },
{ id: "cli", label: "CLI", ... },
],
},
]
Use when:
- Global deployment
- Region-specific differences
- Users need to select region early
Pattern 8: API Documentation
Used by: REST APIs, GraphQL, SDKs
Getting Started:
ββ [Authentication]
ββ [Quick Start]
ββ [Rate Limits]
API Versions:
ββ [v3 Current]
ββ [v2 Legacy]
ββ [v1 Deprecated]
Resources:
ββ [Users]
ββ [Posts]
ββ [Comments]
ββ [Media]
Tools:
ββ [cURL]
ββ [JavaScript]
ββ [Python]
ββ [Go]
Configuration:
tabGroups: [
{
id: "getting-started",
label: "Getting Started",
tabs: [
{ id: "auth", label: "Authentication", ... },
{ id: "quickstart", label: "Quick Start", ... },
{ id: "limits", label: "Rate Limits", ... },
],
},
{
id: "versions",
label: "API Versions",
tabs: [
{ id: "v3", label: "v3 (Current)", ... },
{ id: "v2", label: "v2 (Legacy)", ... },
{ id: "v1", label: "v1 (Deprecated)", ... },
],
},
{
id: "resources",
label: "Resources",
tabs: [
{ id: "users", label: "Users", ... },
{ id: "posts", label: "Posts", ... },
{ id: "comments", label: "Comments", ... },
{ id: "media", label: "Media", ... },
],
},
{
id: "tools",
label: "Client Libraries",
tabs: [
{ id: "curl", label: "cURL", ... },
{ id: "js", label: "JavaScript", ... },
{ id: "python", label: "Python", ... },
{ id: "go", label: "Go", ... },
],
},
]
Use when:
- API documentation
- Multiple SDKs/languages
- Multiple versions
- Clear resource grouping
Choosing Your Pattern
Ask yourself:
- What are the main sections?
- Do they need grouping?
- How do users navigate?
- Whatβs the natural flow?
| Pattern | Use Case | Complexity | Tabs |
|---|---|---|---|
| Linear | Onboarding | Simple | 4-7 |
| Hub & Spoke | Multi-product | Medium | 6-12 |
| Layered | Technical docs | Medium | 9-15 |
| Audience | Multi-role | Medium | 9-15 |
| Versioned | Libraries | Medium | 5-10 |
| Feature + Support | SaaS | Complex | 9-15 |
| Geographic | Global | Complex | 6-10 |
| API | APIs | Complex | 15+ |
Responsive Tab Organization
Patterns should work on mobile:
Desktop (7 tabs):
[Getting Started] [API] [CLI] [Config] [Examples] [Support] [Blog]
Mobile (same tabs, responsive):
Getting Started βΌ
(dropdown shows all tabs)
Or collapsible groups on mobile:
βΌ Learning
[Getting Started] [Guides] [FAQ]
βΆ Reference (collapsed on mobile)