UI Guidelines: Dialogs (2nd draft)
- From: colin z robertson <c z robertson ndirect co uk>
- To: gnome-gui-list gnome org
- Subject: UI Guidelines: Dialogs (2nd draft)
- Date: Tue, 6 Mar 2001 22:55:17 +0000
Here's my 2nd attempt at the Dialogs section of the UI guidelines
document. It's still not perfect, but I'm rather busy at the moment
and you wouldn't see anything from me if I tried to be a
perfectionist.
It still doesn't have any diagrams or examples. I'll try to do them
when I get some time, but in the mean time if anyone else wants to
have a go at these things, please, go ahead.
Comments, as ever, much appreciated.
colin
---
<sect1 id="dialogs">
<title>Dialog boxes</title>
<para>
Dialog boxes are windows allowing the user to interact with an
application in ways that supplement the main application window. They
might typically be used to control the properties of an object, to
request further information from the user or to notify the user of an
event.
</para>
<para>
Dialog boxes come in a number of different forms, suitable for different
situations, and each with their own UI implications.
</para>
<sect2 id="dialogs-modal-and-modeless">
<title>Modal and modeless dialog boxes</title>
<para>
All dialogs can be classified according to whether they are modal or
modeless. Modal dialog boxes are those which prevent the user from
interacting with any other part of the application while they are
visible. They should be used only where it is necessary that the user
doesn't make any changes to the state of the program before performing
an action with the dialog or closing it.
</para>
<para>
Modeless dialog boxes allow the user to continue to interact with the
rest of the application while the dialog is visible. They are
generally suitable for tasks such as changing the properties of an
object or tool.
</para>
<para>
In general, modeless dialogs are preferable to modal dialogs since
they are less intrusive. Dialogs should only be made modal if there is
a good reason to do so.
</para>
</sect2>
<sect2 id="dialogs-informational">
<title>Informational dialog boxes</title>
<para>
Informational dialog boxes are those which do not require the user
to enter any data or make choices; they are merely for notification
purposes. These dialogs typically only need a label for the user to
read and a button to close the dialog. They can be modal or modeless
as appropriate.
</para>
<para>
FIXME: add descriptions of the gnome_dialog convenience functions
for informational dialogs (gnome-app-util).
</para>
</sect2>
<sect2 id="dialogs-druids">
<title>Druids</title>
<para>
Druids are dialog boxes which lead the user through a sequence of
steps. They are frequently used for software installation and
configuration, though they are by no means limited to this role.
</para>
<para>
Druids are best suited to situations in which the user requires some
sort of "hand-holding", due to the way in which they can combine
documentation and control. Experienced users tend to find them
inefficient and patronising.
</para>
<para>
GNOME's druids are roughly equivalent to the "Wizards" frequently
found in Microsoft Windows.
</para>
</sect2>
<sect2 id="dialogs-layout">
<title>Dialog box layout</title>
<para>
The top portion of a dialog box should contain the main area, the
content of which is very much up to the developer. Nothing in this
area should dismiss the dialog or perform actions which immediately
affect objects external to the dialog.
</para>
<para>
At the bottom of the dialog window should be a single row of buttons
which pertain to the whole dialog. These can be divided into three
main types: Action buttons, closing buttons and navigation buttons. In
most cases a dialog should contain action buttons on the left of this
row and one closing button on the right. In the case of druids the
action buttons would be replaced with a pair of navigation buttons,
and in the case of informational dialogs there would only be one
dismiss button.
</para>
<para>
Note that the left-right positioning of items described here only
applies to Western systems. Localisation for other countries may
reverse these positions.
</para>
</sect2>
<sect2 id="dialogs-buttons">
<title>Dialog box buttons</title>
<para>
Action buttons: Most dialogs will have buttons to perform some kind of
action. These should be labelled with a verb to describe the action.
(Labels such as "OK", "Yes" and "No" are discouraged since they are
difficult for the user to quickly scan for the desired action.) The
leftmost action button should be the default button, and so be
activated by the Enter key.
</para>
<para>
On modal dialogs in will generally be necessary for the action buttons
to also close the dialog.
</para>
<para>
Closing buttons: These vary depending on the type of dialog on which
they appear. On modal dialogs the closing button should be labeled
"Cancel" and should close the dialog and return the application the
the state it was in before the dialog was shown.
</para>
<para>
On modeless dialogs the closing button should be labeled "Close" and
should close the dialog without making any further changes to the
state of the application.
</para>
<para>
The situation is slightly different again for informational dialogs.
As always, the closing button should close the dialog, but the
labelling of the button is a decision for the developer and is
dependent upon the context in which it appears. As a rough guide,
"Close" will generally be an appropriate label for dialogs appearing
in response to a user's request for information, while "OK" will often
be more appropriate for unrequested alerts.
</para>
<para>
In all of these cases the closing button should be activated by the
escape key. On purely informational dialogs where the dismiss button
is the only button in the bottom row of the dialog, it should also be
the default button and so be activated by the Enter key.
</para>
<para>
Navigation buttons: If the dialog contains a sequence of
steps (as in a wizard, for example), they should be navigable with
buttons labelled "Previous" and "Next". These buttons should have the
accelerators "p" and "n" respectively.
</para>
<para>
FIXME: Does Gnome contain standard components for implementing these
buttons? Apparently yes, with no accelerators, and including "Next"
and "Prev".
</para>
</sect2>
</sect1>
_____________________________ ____
rtnl http://rational.cjb.net c z robertson ndirect co uk
ak http://kitching.cjb.net icq 13294163
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]