Say what will happen
Before people press something, the words should tell them what will happen. Here are a few common swaps.
| Instead of | Write |
|---|---|
| Submit | Send message |
| OK | Save changes |
| Click here | Download the price list (PDF, 240 KB) |
| Learn more | How delivery works |
| Yes / No | Delete project / Keep project |
Links work the same way. “Click here” and “Read more” say nothing to someone who skims a page or to a blind person whose screen reader lists all the links on the page. Put the subject into the link itself.
Error messages that help
Imagine the scenario at a checkout where the payment fails. The customer doesn’t care what’s going on in the bank. They want their order. Start with the simple fact they can check against the card in their hand: “This card has expired.” Immediately after that tell them what will work: “Use another card or change the expiry date.”
Don’t blame people with phrases like “You entered an invalid value”. Don’t show bare codes like “Error 0x80070057” that mean nothing to them. And keep jokes out of error messages. A light, friendly tone is fine when a list is empty, but someone whose payment just failed is in no mood for a funny “Oops!”.
Fig. 10.1Do and don’t
Don’t
Do
One name for one thing
Choose one name for each thing and use it everywhere: in the menu, in headings, on buttons, in emails and on help pages. If the menu says “Projects”, don’t call them “Workspaces” in the settings and “Boards” in the email. People will think these are three different things. It helps to keep a short list of your words and add to it when something new appears.
The same goes for actions. If one place says “Delete”, another place shouldn’t say “Remove” for the same thing. If the two really are different, explain it once, in brackets: “Remove from album (the photo stays in your library)”.
Dates and numbers nobody can misread
Write numbers as digits: “3 files” is easier to spot than “three files”. Dates are trickier. “05/04/2026” means the fifth of April in Europe and the fourth of May in America. Writing “5 Apr 2026” avoids the mix-up anywhere in the world.
For recent things, “2 hours ago” is friendly. For older things, show the date, and let people see the full date and time when they point at it. Prices should always show the currency, and where it matters, whether tax is included. Developers don’t have to work out local formats by hand: JavaScript has Intl.NumberFormat and Intl.DateTimeFormat to do it.
Fig. 10.2Do and don’t
Don’t
Do
Short, but still clear
Leave out words that add nothing, like “Please note that”, “In order to” or “Simply”. But keep the words that carry meaning. “Save” can be too short when a screen has two different things to save; “Save draft” and “Publish” are clearer.
Talk to people directly, with “your orders” rather than “user orders”. And write buttons and headings like a normal sentence, with only the first letter big. Writing Every Word With A Capital Letter is harder to read.
Leave room for other languages
If your site will be translated, words will get longer. German and Ukrainian are often about a third longer than English, sometimes more. So don’t make buttons that only just fit the English word, don’t put words inside pictures, and don’t glue sentences together from pieces, because other languages put words in a different order.
Before you move on
Read only the buttons and messages on your screen out loud to someone who has never seen it. If they can tell you what each button will do and what each message means, your words are working.