blob: eea8207d208f7e922d53e646b3968cb9b83c2079 [file] [log] [blame] [view]
Benedikt Meurer625c4bc2024-07-19 12:33:131# How to write UI text
2
3[TOC]
4
5## Checklist
6
7For every CL that adds or changes UI texts in the Chrome DevTools front-end, use
8this checklist to make sure that the new or changed strings meet the basic
9requirements for good UX writing.
10
11### General
12
13* Give the right info at the right time and place
14* Don't write more than 1 sentence but if you do, break up text into sections, lists, tooltips, and <u>Learn more</u> links
15* Be friendly but not ridiculous
Benedikt Meurer50042c92024-08-21 07:57:0116 * ✔️ `This API lets you collect data about what your users like.`
17 * ❌ `Dude! This API is totally awesome!`
18 * ❌ `This API may enable the acquisition of information pertaining to user preferences.`
Benedikt Meurer625c4bc2024-07-19 12:33:1319
20### Patterns
21
22* Follow the
23 [F pattern](https://m3.material.io/foundations/content-design/style-guide/ux-writing-best-practices#3a833840-43db-4f6e-8133-c4665c17d176)
24* One sentence, one idea
25* "To get what you want, do this"
Benedikt Meurer50042c92024-08-21 07:57:0126 * ✔️ `To save changes, drop a folder here`
27 * ❌ `Drop in a folder to add to Workspace (what's a Workspace?)`
Benedikt Meurer625c4bc2024-07-19 12:33:1328* "Do this to recover"
Benedikt Meurer50042c92024-08-21 07:57:0129 * ✔️ `Shorten filename to 64 characters or less`
30 * ❌ `Invalid filename`
Benedikt Meurer625c4bc2024-07-19 12:33:1331
32### Mechanics
33
34* Say “you”
35* [Look up](https://translate.google.com) short synonyms
Benedikt Meurer50042c92024-08-21 07:57:0136 * ✔️ `Keep, more, stop, get, send, add, fit, `
37 * ❌ `Preserve, additional, prevent, receive, submit, create, `
Benedikt Meurer625c4bc2024-07-19 12:33:1338* Cut, cut, cut
Benedikt Meurer50042c92024-08-21 07:57:0139 * ❌ `Please, sorry, very, strongly, seamless, awesome, there is, there are, fast, quick, `
Benedikt Meurer625c4bc2024-07-19 12:33:1340* Use active voice
Benedikt Meurer50042c92024-08-21 07:57:0141 * ✔️ `DevTools loaded source maps`
42 * ❌ `Source maps were loaded by DevTools`
Benedikt Meurer625c4bc2024-07-19 12:33:1343* Use [contractions](https://developers.google.com/style/contractions) but avoid [Latin abbreviations](https://m3.material.io/foundations/content-design/style-guide/ux-writing-best-practices#98d02949-1933-49df-b136-f7b72620b950)
Benedikt Meurer50042c92024-08-21 07:57:0144 * ✔️ `Cant, dont, isnt, for example, that is, and more`
45 * ❌ `Cannot, do not, is not, e.g., i.e., etc.`
Benedikt Meurer625c4bc2024-07-19 12:33:1346* Use simple and common terms
Benedikt Meurer50042c92024-08-21 07:57:0147 * ✔️ `Website, page, extension, function`
48 * ❌ `Debug target, debuggee, content script, call frame`
Benedikt Meurer625c4bc2024-07-19 12:33:1349
50### Cosmetics
51
52* Use sentence-case, not Title-Case (see [Capitalization guidelines](#capitalization-guidelines) below).
Benedikt Meurer50042c92024-08-21 07:57:0153 * ✔️ `Periodic background sync`
54 * ❌ `Periodic Background Sync`
Benedikt Meurer625c4bc2024-07-19 12:33:1355* Punctuate consistently
56 * Use serial comma: A, B, and C
57 * Skip periods in case of a single sentence
58* Don't spell out numbers
Benedikt Meurer50042c92024-08-21 07:57:0159 * ✔️ `1, 2, 3, `
60 * ❌ `One, two, three, `
Benedikt Meurer625c4bc2024-07-19 12:33:1361* Use just 2 types of links: <u>Learn more</u> and the
62 [GM3 `Help` icon](https://fonts.corp.google.com/icons?selected=Google+Symbols:help).
63
64
65## Capitalization guidelines
66
67### Capitalize product names
68
69Capitalize [product names](https://developers.google.com/style/product-names#capitalize),
70web API names, but not [feature names](https://developers.google.com/style/product-names#feature-names).
71
Benedikt Meurer50042c92024-08-21 07:57:0172* ✔️ `Chrome DevTools (product) lets you debug Background Fetch API (web API) by logging background fetch (feature) events.`
73* ❌ `Chrome devtools lets you debug background fetch API by logging Background Fetch events.`
Benedikt Meurer625c4bc2024-07-19 12:33:1374
75### Use sentence case
76
77Use sentence case in [UI element names](https://m3.material.io/foundations/content-design/style-guide/ux-writing-best-practices#fc5c2a78-f4bf-4d42-bdac-42ff80391129) as well as [titles and headings in text](https://developers.google.com/style/capitalization#capitalization-in-titles-and-headings).
78
79That is, capitalize only the first word in the title, the first word in a
80subheading after a colon, and any proper nouns or other terms that are
81always capitalized a certain way.
82
83*** aside
84Examples: **Network request blocking**, **Blocked response cookies**
85***
86
87### Spell UI elements in text
88
89When mentioning [UI elements in text](https://developers.google.com/style/ui-elements#formatting),
90spell their names in bold and exactly as they are spelled, including
91capitalization, which should be in sentence case.
92
93*** aside
94Example: Open the **Network request blocking** panel.
95***
96
97If an element doesn't have a
98name however, <em>don't</em> capitalize its term and <em>don't</em> spell it in
99bold.
100
101*** aside
102Example: A filter bar at the top of the **Network** panel, not ~~the **Filter** bar~~.
103***
104
105*** note
106**Tip:** You can "stack" navigation paths in text regardless of element type.
107For example:
108
109In **Settings** > **Preferences** > **Appearance** > **Panel layout**,
110select `auto`.
111
112That was [Panel] > [Tab] > [Section] > [Drop-down menu].
113***
114
115## Resources
116
1171. How to write UI texts
118 ([slides](https://docs.google.com/presentation/d/1AfsX0JaMd1iBNH1WL2dMswXLuhGSU5j2cyAEHkJpoNA?resourcekey=0-cfKK72Q_tV8-uakhzuVx-g),
119 [recording](https://drive.google.com/file/d/19wOnbZHvXhH-tQLuE0M2B9fQMjosLC9O?resourcekey=0-FBrvUvnWMq0Wa98vkea9-A))
120