Part Three: The details · Words and feedback
"OK", "Submit" and "Continue" fit on any button. They do not say what will happen.
A generic label is convenient. One "Submit" component serves every form in the product, and nobody has to think about wording. The thinking is passed to the person holding the mouse.
A dialog reads, "You have unsaved changes. Do you want to discard them?" Underneath: OK and Cancel. Does Cancel cancel the discarding, or cancel the edit? People read the question twice, guess, and sometimes lose an hour of work to a word.
Now read only the buttons, which is what most people do. "OK / Cancel" tells you nothing. "Discard changes / Keep editing" tells you everything, and the sentence above is hardly needed. A good label lets someone act correctly without reading anything else on the screen.
A button is a verb and usually its object: Send reminder, Delete 3 photos, Book the room, Save and close. Where it helps, put the stakes in the label itself: "Pay $49," and never "Confirm." The label on the button should match what the person sees next, so that pressing "Create project" lands them in a project.
Labels must stay short enough to scan, and the same action needs the same label everywhere. "Save" is fine when saving is all that happens.
You have unsaved changes. Do you want to discard them?
Cancel OKYou have unsaved changes. Do you want to discard them?
Keep editing Discard changesTherefore:
Label every button with the action it performs, as a verb and its object, so that someone reading only the buttons would choose correctly. Never use Yes, No, OK or Submit where the real action can be named.
In practice. Screenshot every dialog in the product and cover everything but the buttons. Wherever you cannot tell what each one does, rewrite both labels.
Goes with. The verbs should be PLAIN WORDS (79). What the label cannot hold goes beside it, in SAY WHAT HAPPENS NEXT (81), and the same action must carry the same label everywhere: THE SAME THING WORKS THE SAME WAY (84).