In graphical user interfaces, a dialog (or dialogue) box is a special window, used in user interfaces to display information to the user, or to get a response if needed. They are so-called because they form a dialog between the computer and the user - either informing the user of something, or requesting input from the user, or both. It provides controls that allow you to specify how to carry out an action.
Dialog boxes are classified as modal or modeless, depending on whether they block interaction on the application that triggered the dialog. Different types of dialog boxes are used for different sorts of user interaction.
The simplest type of dialog box is the alert, which displays a message and requires only an acknowledgment (by clicking 'OK' usually) that the message has been read. Alerts are used to provide simple confirmation of an action, or include program termination notices or confirmation due to crashing or intentional closing by user. Though this is a frequent interaction pattern for modal dialogs, it is also criticised by usability experts as being ineffective for its intended use (protection against errors in destructive actions) and for which better alternatives exist.
Non-modal or modeless dialog boxes are used when the requested information is not essential to continue, and so the window can be left open while work continues elsewhere. A type of modeless dialog box is a toolbar which is either separate from the main application, or may be detached from the main application, and items in the toolbar can be used to select certain features or functions of the application.
In general, good software design calls for dialogs to be of this type where possible, since they do not force the user into a particular mode of operation. An example might be a dialog of settings for the current document, e.g. the background and text colours. The user can continue adding text to the main window whatever colour it is, but can change it at any time using the dialog. (This isn't meant to be an example of the best possible interface for this; often the same functionality may be accomplished by toolbar buttons on the application's main window).
See main article: Modal window. Modal dialog boxes are those which temporarily halt the program in that the user cannot continue until the dialog has been closed: the program may require some additional information before it can continue, or may simply wish to confirm that the user wants to proceed with a potentially dangerous course of action. Modal dialogs are generally regarded as bad design solutions by usability practitioners since they are prone to produce mode errors. Dangerous actions should be undoable wherever possible; a modal alert dialog that appears unexpectedly or which is dismissed automatically (because the user has developed a habit) will not protect from the dangerous action.
The main workflow is interrupted when a modal dialog is shown. This effect has either been sought because it focuses on the completion of the task at hand or rejected because it prevents the user from changing to a different task when needed.
Traditionally, modal dialogs have been either system or application modal - they either take over the whole system until they are dismissed, or just the application that displayed it. The concept of a document modal dialog has recently been used, most notably in Mac OS X where they are shown as sheets attached to a parent window. These dialogs block only that window until the user dismisses the dialog, permitting work in other windows to continue, even within the same application.
In OS X, dialogs appear to emanate from a slot in their parent window, and are shown with a reinforcing animation. This helps to let the user understand that the dialog is attached to the parent window, not just shown in front of it. No work can be done in the underlying document itself while the dialog is displayed, but the parent window can still be moved, re-sized, and minimized, and other windows can be brought in front so the user can work with them:
The same type of dialog box can be compared with the "standard" modal dialog boxes used in Windows and other operating systems.
The differences are that
Both mechanisms have shortcomings: