The Dreaded Click-Through

So here I am, happily typing away in TextEdit when I suddenly decide to switch to the Pages window which is currently in the background. Guess what happens when I click on that Pages window:

Switching to Pages

If you guessed "the Pages window becomes the active window," you're only half right. In addition to the window coming to the forefront, Pages decided to create a new text field:

Pages creates a new text field

Why would it do this? In Mac OS 9 and earlier, only the foreground windows accepted mouse clicks. Windows in the background typically did not accept mouse clicks; you first had to activate them. Mac OS X decided to take a page from Windows and allow click-through: Background windows can and will accept mouse clicks - at least sometimes. Apple's Human Interface Guidelines state:

An item that provides click-through is one that a user can activate on an inactive window with one click, instead of clicking first to make the window active and then clicking the item. Click-through provides greater efficiency in performing such tasks as closing or resizing inactive windows, and copying or moving files. In many cases, however, click-through could confuse a user who clicks an item unintentionally.

Click-through is not a property of a class of controls. Any control, including toolbar items, can support click-through in many contexts, but the same control could disable click-through when its use could be destructive or difficult to reverse in a particular context.

In an inactive window, items that do not provide click-through should appear in their disabled state.

In other words, there's no consistency. Some background window elements may accept clicks, others may not, and if you can't actually see whether the element is active or not - or if you can't see the element at all - you simply don't know what your click will end up doing.

In my example above, my mouse was - unbeknownst to me, as there was no way to see this - above the "Text Box" button when I clicked on the Pages window. So in addition to making the Pages window the active window, Pages created a new text box. This unintended side effect would not have occurred, had Pages not accepted click-through.

John Gruber recently found a somewhat unsatisfying solution: Rainer Brockerhoff's Mac OS X application Klicko will disable click-through.1

Too bad Apple is incapable of getting this fundamental concept right.

If you require a short url to link to this article, please use

designed for use cover

But wait, there's more!

Want to read more like this? Buy my book's second edition! Designed for Use: Create Usable Interfaces for Applications and the Web is now available DRM-free directly from The Pragmatic Programmers. Or you can get it on Amazon, where it's also available in Chinese and Japanese.