By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.
For aspiring technical writers, developers transitioning into writing, and current writers modernizing their skills
A Table of Contents (ToC) and navigation system are the roadmaps of your documentation—they help users find what they need quickly, whether they're debugging an API, setting up a cloud service, or learning a new tool. A well-structured ToC reduces frustration, improves adoption, and saves support costs.
Real-world example:Imagine a developer trying to integrate a payment gateway API (like Stripe or PayPal). If the ToC buries "Authentication" under "Advanced Topics" or hides "Error Codes" in a wall of text, they’ll waste time searching—or worse, abandon the docs entirely. A clear ToC with logical grouping (e.g., "Quickstart → Core Concepts → API Reference → Troubleshooting") guides them step-by-step.
Table of Contents (ToC): A hierarchical list of topics in your docs, usually auto-generated from headings (e.g., #, ## in Markdown). Acts as a "sitemap" for users. Tools: Markdown (VS Code, Typora), DITA (Oxygen XML), Sphinx, MkDocs, GitBook.
#
##
Navigation (Nav): The interactive menus, sidebars, or breadcrumbs that let users jump between topics. Often includes search, filters, or "Previous/Next" buttons. Tools: Docusaurus, Hugo, Next.js (for custom nav), Swagger UI (for API docs).
Information Architecture (IA): The art of organizing content so users can find it intuitively. Borrows from UX design (e.g., card sorting, user flows). Example: Grouping "Installation" and "Configuration" under "Getting Started" instead of scattering them.
Docs-as-Code: Treating docs like software—stored in Git, written in Markdown/AsciiDoc, built with static site generators (SSGs), and reviewed via pull requests. Tools: GitHub/GitLab, Jekyll, Hugo, Sphinx, Antora.
Static Site Generator (SSG): A tool that converts Markdown/AsciiDoc files into HTML websites. Enables versioning, search, and custom nav. Examples: Docusaurus (Facebook), MkDocs (Python), Hugo (Go), Next.js (React).
OpenAPI (Swagger): A specification for describing REST APIs. Auto-generates interactive docs (Swagger UI, ReDoc) with built-in ToCs. Tools: Swagger Editor, Redoc, Stoplight Studio.
DITA (Darwin Information Typing Architecture): An XML-based standard for modular, reusable docs. Uses "maps" to define ToCs and relationships between topics. Tools: Oxygen XML, FrameMaker, easyDITA.
Breadcrumbs: A secondary nav showing the user’s path (e.g., Home > API Reference > Authentication). Helps users backtrack. Example: Google Cloud docs use breadcrumbs to show hierarchy.
Home > API Reference > Authentication
Mega Menu: A dropdown nav with multiple columns (e.g., AWS docs). Useful for large doc sets but can overwhelm users if overloaded.
Progressive Disclosure: Hiding advanced topics under expandable sections (e.g., "Show more") to avoid overwhelming beginners. Example: Stripe’s API docs hide optional parameters under "Advanced options."
SEO for Docs: Optimizing headings, URLs, and metadata so docs rank in search engines (e.g., Google "how to use Python requests" should surface your API guide). Tools: Google Search Console, Yoast SEO (for WordPress), custom <meta> tags in SSGs.
<meta>
Accessibility (a11y): Ensuring nav is usable for screen readers (e.g., ARIA labels, keyboard navigation). Tools: WAVE, axe DevTools, Lighthouse.
Action: List all existing topics (or planned ones) in a spreadsheet or mind map.- For API docs: Start with the OpenAPI spec (if available) and extract endpoints, parameters, and error codes.- For product docs: Interview subject-matter experts (SMEs) to identify key workflows (e.g., "How do users set up a database?").- Tool tip: Use a tool like Miro or Lucidchart to visualize relationships.
Example:| Topic | Type | Audience | Priority | |---------------------|---------------|----------------|----------| | Authentication | Conceptual | Developers | High | | Create Payment | API Reference | Developers | High | | Webhook Setup | Tutorial | Admins | Medium |
Action: Apply information architecture (IA) principles to group topics.- Common patterns: - Task-based: "Install → Configure → Deploy" (for tutorials). - Feature-based: "Payments → Subscriptions → Invoices" (for API docs). - Audience-based: "For Developers → For Admins → For Analysts." - Tool tip: Use card sorting (ask users to group topics) or tree testing (ask users to find a topic in a mock ToC) to validate your structure.-Example: Getting Started ├── Quickstart ├── Installation └── Configuration API Reference ├── Authentication ├── Payments └── Webhooks Tutorials ├── Build a Checkout Flow └── Handle Errors
Getting Started ├── Quickstart ├── Installation └── Configuration API Reference ├── Authentication ├── Payments └── Webhooks Tutorials ├── Build a Checkout Flow └── Handle Errors
Action: Choose a nav style and implement it in your docs tool.- For SSGs (Docusaurus, MkDocs): Edit the sidebar.js or mkdocs.yml file to define the ToC. Example (Docusaurus): javascript module.exports = { docs: { "Getting Started": ["quickstart", "installation"], "API Reference": ["auth", "payments", "webhooks"], }, }; - For OpenAPI/Swagger: The ToC is auto-generated from the tags in your spec. Group endpoints by tag (e.g., Payments, Customers). Example (OpenAPI): yaml tags: - name: Payments description: Create and manage payments - name: Customers description: Manage customer data - For DITA: Create a DITA map (.ditamap file) to define the ToC hierarchy.
sidebar.js
mkdocs.yml
javascript module.exports = { docs: { "Getting Started": ["quickstart", "installation"], "API Reference": ["auth", "payments", "webhooks"], }, };
tags
Payments
Customers
yaml tags: - name: Payments description: Create and manage payments - name: Customers description: Manage customer data
.ditamap
Tool tip: Use anchor links (#section-id) to let users jump to subsections.
#section-id
Action: Validate the ToC with real users and tools.- User testing: - Ask a developer to find "How to refund a payment" in your docs. Time them. - Use hotjar or FullStory to track clicks and drop-offs.- Automated testing: - Link checkers: Use lychee or html-proofer to find broken links. - SEO tools: Check for duplicate headings or missing meta descriptions.- Tool tip: Run a 5-second test—show a user the ToC for 5 seconds, then ask them to recall the main sections.
Action: Refine the ToC based on data.- Common fixes: - Move "Authentication" to the top (users often miss it). - Add a "Troubleshooting" section if support tickets spike. - Collapse nested sections if users get lost (e.g., "Advanced" dropdown).- Tool tip: Use A/B testing (e.g., split traffic between two ToC versions) to measure engagement.
/payments
Tricky distinction: A tutorial teaches concepts by building (e.g., "Create a payment flow"), while a how-to guide solves a specific problem (e.g., "Fix a declined card").
Do you know when to auto-generate vs. hand-craft?
Tool comparison: Swagger UI (interactive, auto-generated) vs. ReDoc (static, prettier but less interactive).
Can you balance detail and simplicity?
Example: A mega menu works for AWS docs (1000+ services) but overwhelms a startup’s API docs (use a sidebar instead).
Do you measure success?
Answer: Use docs-as-code (store docs in Git with the code) and auto-generate the ToC from the OpenAPI spec. Set up CI/CD to rebuild docs on every git push.Why: Manual updates are error-prone; automation ensures consistency.
git push
Answer: Add it as a top-level section (e.g., after "Getting Started") or as a filter/tag (e.g., "Enterprise" badge). Avoid burying it under "Advanced." Why: Enterprise users are a distinct audience; they need clear signposts.
Answer: Move "Authentication" to the top of the ToC (or under "Getting Started") and add a visual highlight (e.g., ? icon). Test with users to confirm it’s discoverable.Why: Authentication is a prerequisite for most tasks; users expect it early.
[TOC]
[[_TOC_]]
sidebars.js
type: "category"
nav:
aria-label="Main navigation"
Join 4M+ learners. Unlock unlimited quizzes, wrong-answer tracking, flashcards + reminders, study guides, and 1-on-1 challenges.