Re: Dialog buttons



On Tue, Jun 05, 2001 at 07:40:27PM +0100, Calum Benson wrote:
> http://developer.gnome.org/projects/gap/keyboardnav.html
> 
> The suggestion in the proposal is that:
> 
> - Enter always activates the default GtkButton in the current context
> (unless the focused control happens to override Enter, e.g. a multi-line
> text field);
> 
> - If any GtkButton has focus, Space activates it (whether it's the
> default button or not);
> 
> - The default button never changes as you're tabbing through a
> window/dialog.  

It's time to add my flames I suppose.  I feel very strongly about The "enter"
issue.

A couple of years ago in gtk+ 1.0 times, enter always activated the default.
We built a lab instrument software based upon it at my dad's company.  Now
the software was to be used mostly by the keyboard.  Part of it was guiding
the chemist through the synthesis by use of Yes/No type dialogs.  So the
question would appear, the chemist would tab to the right button and press
enter.  Then of course later would be very confused that different things
then he wanted happened.

Asking several people (windows users and linux users) mostly from the lab
environment where keyboard is used quite a bit more then mouse I asked the
above question, what would they do.  Most would do enter, "space" was
mentioned once, it's not a popular key :)  Alt-? bindings for buttons would
also help.  Also I do this all the time as well.

So I thought, why do people use enter.  To myself "Enter" means accept my
input, just by the pure language of the word.  I asked my mom, and she went
into a long spiel on how she hates one of her software where on a dialog box
with several entries, enter closes the dialog.  The thing is she is very much
used to using enter after any string from things like web forms and the like.
She's been using this software (on windows) for about 3-4 years, so it's not
something you just learn.  Other people answered similarly.

OK, so what is the problem with Enter pressing the default button?  Well for
one when you close the dialog there is no visual feedback on which button was
pressed, so when pressing one of the action buttons you'd better as hell be
sure that the user intended to press that one.  Because the user might not
notice that he pressed the wrong button, and this is very bad UI.

So my proposal (which is stringed from things made up by other users on the
#usability channel, but now I'll just take all the credit for it, muhahahaha)
is that:

Space - Activates or toggles the currently focused widget.
Enter - When focus is on a button, enter activates the button, in
	complex dialogs (not simple single entry or query dialogs) 
	Enter would be ignored outside of buttons, entries and text boxes
Control-Enter - Activates the default button, always.  No matter where the
                focus is.  The advantage here is that it will work even
                for textboxes I suppose.  This gives a sure fire consistent
                way to close the dialog with the default. 

So what does enter do in entry boxes?  Well depends on the entry box.  If
this is an entry box where things from it are added to a list, "accept my
input" would say, take this value and add it to the list, not close the
dialog.  If there are more then one entry, "accept my input" would be going
to the next entry field.  If there is only one entry and the primary idea of
this dialog is to return the string the user types (a search term or a run
box) then enter of course activates the ok button.  On a box that asked
username and a password, the username box should pass focus to the password
box on enter, and the password box should try to log in on enter for example.
That would make sense to me in the "accept my input" paradigm.

The reason for not overloading enter so much is that there is too much
expectancy for enter to do different things, which can really confuse the
hell out of people.  Control-Enter doesn't have any other meanings attached
to it and people aren't used to it doing several different things, thus it
will be easier to remember that it closes the dialog.  Plus the fact that
it's harder to press will make it less likely to be pressed by accident.

George

-- 
George <jirka 5z com>
   I thoroughly disapprove of duels.  If a man should challenge
   me, I would take him kindly and forgivingly by the hand and
   lead him to a quiet place and kill him.
                       -- Mark Twain




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]