July 10, 2006

Dialog Box Button Labels

The problem of difficult to interpret dialog box buttons that Geoff refers to is, ironically, a consequence of user interface guidelines. The design that he prefers, with buttons labelled "Yes" and "No", is one that most UI guidelines say to avoid, on the grounds that they require the user to interpret other information in the dialog correctly. The Apple Human Interface Guidelines say:

Button names should be verbs that describe the action performed.

The KDE User Interface Guidelines (KDE is one of the two major desktop environments for Linux) are more explicit:

Dialogues that ask questions should not use Yes/No; this forces the user to take an extra mental step such as "Am I saying Yes to deleting this file, or am I saying yes to keeping this file?"

The GNOME Human Interface Guidelines (GNOME is the other major desktop environment for Linux) are the same:

All button labels should use an imperative verb describing what it will do when clicked.

To old Unix hands such as myself with our Shiva-like power to wipe out entire filesystems in eight keystrokes, UI guidelines seem all too often to assume that users are illiterate morons, but they do have a point: there are cases in which the user may find it difficult to work out what action "yes" corresponds to and what "no". The problem with Geoff's example is that avoiding "yes" and "no" isn't enough: you have to choose the right phrases for your button labels. Indeed, I suspect that using "yes" and "no" is perfectly fine if you phrase the question clearly. UI guidelines have something in common with Strunk and White and other such usage guides: they are often motivated by real problems but go astray by oversimplifying the solution.

Posted by Bill Poser at July 10, 2006 01:12 PM