Hacker News new | past | comments | ask | show | jobs | submit login

Windows distinguishes default and focused, it's just a bit subtle. A button in focus has a dotted rectangle around the contents (immediately adjacent to the actual border, which is why it's kinda hard to see). A button that's the default has a thick blue outer border in Win10, and used to have a black border in the classic Win9x theme.

What is different in Win32, however, is that if any button is focused, it is also made the default for as long as focus is on it (or, alternatively - Enter always activates the focused button). Thus, there's no visual state for "focused, not default", because there's no such thing.

The distinction still matters, though, because if you tab away from a button to some other widget that's not a button, the "default" button marker returns back to where it originally was - focus only overrides it temporarily.

This can be conveniently explored in the standard Win32 print dialog (opened e.g. from Notepad), since it has plenty of buttons and other things on it. Just tab through the whole thing once.




And even that concept (of "defaultness" of a button) is IMO wrong: it introduces "modes" of operation -- you have to look to see what is the default before you can press Enter. Which also means that you can't even have some general expectation what the Enter key is going to do when.

There were computer keyboards which had a distinction between the button to enter the field and the button to, for example, do the desired action behind the whole dialog. Just like today it is common to expect that Esc is going to cancel the dialog (or the entry form) there was a key that one knew would do the "proceed" (GO) independently of the position in which field your cursor is at the moment (or was). In these operating systems Enter always did just the non-surprising "end of the entering of the current input field, skip to the next" and the "GO" signaled the end of that process and the wish to use everything that has been entered up to any point. It's particularly convenient when entering a lot of numerical data on the numeric keypad, where Enter also just moves to the next field.

I think that concept was right, and better than what we have today. Entering what are basically "forms" in any order (filling the dialogs) and proceed from any point is a basic task and could have remained less surprising.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: