Fatskills
Practice. Master. Repeat.
Study Guide: Technical Writing and Documentation 101: Creating Effective Tables of Contents and Navigation
Source: https://www.fatskills.com/bvat/chapter/technical-writing-and-documentation-creating-effective-tables-of-contents-and-navigation

Technical Writing and Documentation 101: Creating Effective Tables of Contents and Navigation

By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.

⏱️ ~8 min read

Creating Effective Tables of Contents and Navigation


Study Guide: Creating Effective Tables of Contents and Navigation

For aspiring technical writers, developers transitioning into writing, and current writers modernizing their skills


What This Is

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.


Key Terms & Tools

  • 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.

  • 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.

  • Accessibility (a11y):
    Ensuring nav is usable for screen readers (e.g., ARIA labels, keyboard navigation).
    Tools: WAVE, axe DevTools, Lighthouse.


Step-by-Step / Process Flow


1. Audit the Content

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 |


2. Group Topics Logically

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


3. Design the Navigation

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.

Tool tip: Use anchor links (#section-id) to let users jump to subsections.


4. Test the Navigation

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.


5. Iterate Based on Feedback

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.


Common Mistakes

Mistake Correction Why It Matters
Alphabetical ToC Group by workflow or audience (e.g., "For Beginners → For Experts"). Users think in tasks, not alphabetical order.
Over-nesting (e.g., 5+ levels) Limit to 2–3 levels; use progressive disclosure for deeper content. Deep nesting hides content and frustrates users.
Ignoring mobile users Test nav on mobile (e.g., hamburger menus, collapsible sections). 50%+ of dev docs traffic is mobile.
Static ToC (no search/filter) Add search (Algolia, Lunr.js) and filters (e.g., "Show only Python examples"). Users skip ToCs and go straight to search.
Assuming users read linearly Add "Previous/Next" buttons and a "Related Topics" section. Developers jump around docs; help them context-switch.


Tech Writing Interview / Portfolio Tips


What Hiring Managers Look For

  1. Can you design for different audiences?
  2. Example: Show a ToC for a beginner tutorial (e.g., "Build Your First API Call") vs. a reference guide (e.g., "Endpoint: /payments").
  3. 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").

  4. Do you know when to auto-generate vs. hand-craft?

  5. Example: Auto-generate API reference ToCs from OpenAPI, but hand-craft conceptual docs (e.g., "How Payments Work").
  6. Tool comparison: Swagger UI (interactive, auto-generated) vs. ReDoc (static, prettier but less interactive).

  7. Can you balance detail and simplicity?

  8. Example: A mega menu works for AWS docs (1000+ services) but overwhelms a startup’s API docs (use a sidebar instead).

  9. Do you measure success?

  10. Example: Track "Time to First API Call" (how long it takes a user to make their first request) as a KPI for your ToC.

Portfolio Tips

  • Show before/after: Take a messy ToC (e.g., from an open-source project) and redesign it. Explain your IA decisions.
  • Include a case study: "Redesigned the ToC for [Project X], reducing support tickets by 30%."
  • Demo tool proficiency: Include a screenshot of your mkdocs.yml or Docusaurus sidebar.js file.


Quick Check Questions


1. A developer complains that the API docs are outdated. How would you ensure the ToC stays in sync with code?

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.

2. Your team wants to add a "For Enterprise" section to the ToC. Where should it go?

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.

3. Users struggle to find the "Authentication" page. How would you redesign the ToC?

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.


Last-Minute Cram Sheet

  1. ToC hierarchy: Limit to 2–3 levels; use progressive disclosure for deeper content.
  2. Markdown ToC: Use [TOC] (GitHub) or [[_TOC_]] (GitLab) for auto-generated ToCs.
  3. OpenAPI tags: Group endpoints by tags in your spec to auto-generate the ToC.
  4. Docusaurus sidebar: Define in sidebars.js; use type: "category" for nested sections.
  5. MkDocs nav: Edit mkdocs.yml; use nav: to define the ToC.
  6. SEO for docs: Include keywords in headings (e.g., "How to Authenticate with the API" vs. "Auth").
  7. Mobile nav: Test hamburger menus and collapsible sections on small screens.
  8. ⚠️ Tutorial vs. how-to: A tutorial teaches by building; a how-to solves a specific problem.
  9. ⚠️ Swagger UI vs. ReDoc: Swagger UI is interactive; ReDoc is prettier but static.
  10. Accessibility: Use ARIA labels (e.g., aria-label="Main navigation") for screen readers.


ADVERTISEMENT