# Formatting and organization detail
Detail for: headings, lists, tables, notices, links/cross-references, footnotes,
images, examples, procedures, paragraphs, UI elements, text formatting,
filenames. Source: developers.google.com/style (Headings, Lists, Tables,
Notices, Cross references, Footnotes, Images, Examples, Procedures, Paragraph
structure, UI elements, Text formatting, File names).
## Headings and titles
- **Sentence case** for all headings and titles (title case only for proper
product names).
- **Task-based headings**: start with a bare infinitive — "Create an instance",
not "Creating an instance".
- **Concept headings**: noun phrase, not an -ing verb — "Migration to Google
Cloud", not "Migrating to Google Cloud".
- One unique h1 per page; don't repeat the page title verbatim in a heading.
- Don't skip heading levels (h1 → h2 → h3 in order); headings need content
after them (no empty headings).
- Keep punctuation simple; no numbers to indicate sequence; no links in
headings; avoid code in headings (if needed, add a descriptive noun).
- Abbreviate in a heading only when the abbreviation is better known; define it
in the first paragraph after.
- Use "the following sections" when referring to a group of subsections
("The following sections describe the views in the data preparation editor").
## Lists
- Numbered lists: sequence matters (steps, phases, priorities).
- Bulleted lists: most other lists; parallel structure required.
- Description lists: term–definition pairs.
- Don't use a list for a single item.
- Introduce lists with a complete sentence, usually ending in a colon.
- List items: start with a capital letter; use periods if items are complete
sentences (or after each numbered step in a procedure); keep items parallel
(same grammar).
- Present each item as an equal alternative or sequence element — don't hide
steps inside other items.
- Sub-steps in procedures: use lowercase letters under a numbered step.
## Tables
- Use a table when each row has 3+ related pieces of information; lists for
simpler sets; description lists for pairs.
- Introduce with a complete sentence ending in a colon.
- Column headings: short, clear, sentence case, no ending punctuation.
- Keep cells short; avoid long sentences inside cells.
- Use proper table markup (caption, th with scope) for accessibility.
- Don't use tables for layout, code snippets, long one-dimensional lists, or
inside numbered procedures.
## Links and cross-references
- Link selectively; every link is a chance for the reader to leave. Provide
context on the page when a sentence or two suffices.
- **Descriptive link text**: the page title or a descriptive phrase; never
"click here", "this document", or a bare URL.
- Recommended: "For more information about task scheduling, see Reliable task
scheduling on Compute Engine."
- Not recommended: "Want more? Click here!"
- Use "For more information, see..." or "For more information about X, see..."
— never "on".
- One link to a destination per page (exceptions: very long pages, multiple
entry points).
- Don't open links in new tabs; if you must, say so ("opens in a new tab").
- Don't use external-link icons; mention "the Wikipedia page about..." in text
if the domain matters.
- Punctuation outside link tags where possible (`see Test your code.`).
- Unlinked references: short works in quotes, full-length works in italics.
- When linking a command or code item, include a descriptive noun in the link
text: "run the `gcloud instances create` command".
## Notices
- Four types: **Note** (useful, non-critical aside), **Caution** (proceed
carefully), **Warning** ("don't do this" / irreversible / data loss),
**Success** (interactive content only).
- Use notices sparingly — overuse makes readers skip them. Don't stack two
notices; rewrite instead.
- Don't use notes for cross-references, prerequisites, full steps, or
information the reader needs to succeed.
## Images
- Use images for UI elements and diagrams, not for text, code, or terminal
output.
- **Alt text** (always): concise (≤155 chars), descriptive, context-aware;
no "Image of..." or "Photo of..."; include punctuation; no all-caps.
- "Architecture of an app that's built with Apps Script."
- Decorative images: `alt=""` (still include the attribute).
- Introduce images with a complete sentence (colon if it immediately precedes,
period otherwise).
- Use high-resolution / vector images when practical; keep them sized to the
layout.
- Don't rely on screenshots of text that should be real text (accessibility).
## Examples
- Never use real PII: use reserved example domains (example.com, example.org,
example.net), fictional names (e.g. Alex, Dana), `dana@example.com`, example
phone numbers (800-555-0100 through 0199 range), `USER_ID` style placeholders.
- Introduce examples per the guidance in `format-examples`:
- End of sentence: comma or em dash; short mid-sentence ones in parentheses.
- Not recommended: "Enter a name for the instance, for example, my-instance-99."
- Recommended: "Choose a strong encryption algorithm, such as AES-256."
## Procedures (numbered steps)
- First sentence of each step contains an imperative verb: "Clone the
repository...", not "You need to clone..." (that's context, not a step).
- Complete sentences; parallel structure; consistent verb form.
- State location before action: "In the Google Cloud console, go to the
BigQuery page." not "Go to the BigQuery page in the Google Cloud console."
- State purpose/goal before the action: "To start a new document, click
File > New > Document."
- Optional steps: start the step with "Optional:".
- Advanced/non-default: "Advanced:" prefix; only-for-some: "Optional:".
- No directional language (above, below, left, right-hand side).
- Set context (tool/environment) in the first step; restate under new headings.
- Sub-steps: letters (a., b., c.) within a numbered step.
- Multi-action: "Click File > New > Document" (> separates related UI
interactions in one step).
## Paragraphs
- One idea per paragraph; 5–6 sentences max (shorter is better); a one-sentence
paragraph is fine.
- Put the most important information first in the paragraph.
- Left-align text; no forced line breaks, no justification.
## UI elements
- Refer to element by its visible label, in bold: "click **Save**", "the
**File** menu", "the **New project** window".
- Code-eligible elements (values you type) get code + bold: "In the
**Network** list, select `my-net-2`."
- Follow the label's capitalization, but normalize all-caps or inconsistent
labels to sentence case.
- Don't use UI elements as verbs/nouns in prose: "enter a name in the
**Service account ID** field" instead of "name the account".
- Keyboard keys in ``: "press **Ctrl+S**" (letter keys uppercase,
modifiers spelled out: "Ctrl", "Alt", "Shift").
- Explain icons; avoid directional language ("the menu at the top right").
## Text formatting summary
- **Bold**: UI labels, and strong emphasis sparingly.
- **Italics**: new terms, words-as-words, titles of full works (see
grammar.md).
- **Code font**: anything the reader types or that is a code entity (see
code.md).
- No underlines for emphasis; no all-caps; no ampersand for "and" in prose.
- Sentence case everywhere; American spelling.
## File and directory names
- Lowercase, hyphens between words, ASCII only: `query-data.html`, not
`query_data.html` or `Query-Data.html`.
- No generic names (`document1.html`).
- Consistent with existing naming in the directory (exceptions allowed to stay
consistent).
- When referencing: code font + the word "file": "the `pg_hba.conf` file".
- File *types*: use formal names ("PNG file", not ".png file") — word list has
specifics.