In this article:
Article number: KB000020
Using control lists is an effective and efficient way of upgrading software quality. Using these lists for an interface does not require expensive procedures like usability testing.
This is an absolute control list, that is items do not require subjective answers and evaluations (like "navigation is implemented well"). Thanks to this fact, anyone can check whether an interface complies with the controls list.The examiner does not have to be specially trained. On the other hand, an absolute list is certainly incomplete.
You also need to take into account that no control list can ensure that an interface is really good. At best, a list ensures that an interface does not contain any gross errors.
Text of all buttons that initialize operations, contains infinitive form of a verb (for example, search), and not the other part of speech, or verb form (for example, finished). You can assign the text OK to a button only if it cannot house a verb.
There should be whitespace between neighbor buttons, clicking which is not to be handled.
No different buttons' states look the same.
Unavailable commands do not disappear from the screen but become blocked.
Frequently used buttons are provided both with a text and an icon, the buttons used but seldom have only some text.
Modal dialog boxes do not include the Apply buttons.
Text of buttons that require entering additional information should end with ellipsis.
Entry TextBoxes contain the most probable values (default values).
If a numeric value is entered into a TextBox, a tooltip shows the value range.
If a numeric value from a limited range is to be entered into a TexBbox, this box has buttons used to change the value (the SpinEdit, IntegerEdit, FloatEdit components).
The length of TextBoxes is not less (and where possible not more) than the length of the data to be entered.
If a box is used to enter a significant amount of text, the box is to be multiline.
Multiline TextBoxes have the maximum possible height, it cannot be increased.
The lists already contain the most probable values (default values).
If a list includes 50 items or more, a filter or search mode is used.
There are no frequently used short lists (less than 5 items); these lists are presented as groups of switches or flags.
List width cannot be less than width of its elements.
List elements are sorted: based either on their structure, that is on general characteristics, or on the frequency of used (the list with less than 7 items) or in alphabetical order).
If a list includes more than 50 elements sorted in alphabetical order the first three elements displayed are the most frequently used elements. They also appear in their alphabet positions.
Multiline lists with multiple choice have flags next to each element.
The height of multiline lists is 4 lines or more.
Advanced combo-boxes are used instead of single-line boxes if there is enough space (for example, the dialog box for font selection).
If a group contains 10 or more checkboxes, an extra checkbox is added to select or deselect all checkboxes.
At least one radio button within a group is selected by default.
Radio buttons and checkboxes within a group are positioned one under another.
When a dialog box contains only a set of radio buttons and buttons closing the box, double clicking a radio button selects it and closes the dialog box.
Drag&Drop method should be implemented for the list that allow moving elements.
Basic operations: Add (INSERT), Delete (DELETE), Edit (ENTER, double click).
Deleting groups of elements should be implemented if possible.
Label size should be enough to display required text.
A sufficient size of a text label should be increased by 3 DLU to house the whole text when using large font sizes, as errors of rounding are possible.
The NoWrap property should be set to TRUE for single-line labels.
When the system finishes a long operation (that takes more than one minute), it makes a beep noise using PC speaker.
If direct manipulation is not used in the interface the system does not have its own cursors. If the direct manipulation is used the own cursors are used only when there are no appropriate analogues in the operating system.
In data-entry forms values are checked for validity during the input; if incorrect data are being entered, the system immediately informs a user without waiting for finishing the data entry.
The message indicating that the entered data are incorrect are displayed next to the control containing invalid data.
Text of messages on data ill-posedness do not say that a mistake has been made. On the contrary, it only informs a user on acceptable data types and formats.
Text of a problem message includes the following three parts: the first part briefly outlines the problem, the second one offers the solution and the third part says how to avoid this problem in future.
Status messages (Synchronization completed successfully) are displayed only in the status bar.
Pressing the TAB key in input forms allows to move around the form, while pressing CTRL+TAB allows to switch between the tabs if there are any.
Form processing is started either by clicking the finishing button or by pressing the ENTER key.
Hot keys are assigned to most frequently used controls (including menu items).
An ALT combination (underlined) is assigned to each menu item.
ALT combination and standard hotkeys.
If there are more than 40 hotkeys, you can use interface to change them.
Press the TAB key to go from one element to another within a form from top to bottom and from left to right.
Shadow direction should be the same for all controls: at the bottom right.
Color indication is not the only method. If this kind of indication is used the system is provided with another type of indication.
For long operations (more than one second) a progress bar should be displayed with a text that describes the purpose of the operation. If possible, progress bar is to be displayed. The text should not contain words like "performed" or executed" but only description of the purpose of an operation (for example "Object opening" or "Saving" and so on ).
Icon group should not contain icons similar in color and shape.
The system does not have icons with standard values but non-standard scenes.
Icons do not contain any text.
Icon sets contain icons with the same purpose but of various sizes. The icons have the same features and/or scenario.
Resizable windows have size indicators.
Windows' titles correspond with the names of controls using which the windows are opened. If a window is called by a control with no explicit name, the window title displays the name of the data entry form.
Window type (modal, non-modal, with or without minimizing and maximizing) was chosen deliberately, in accordance with users' tasks.
Dialog boxes are not provided with menus and toolbars.
Apply buttons are used only in palette windows (instead of OK buttons).
Controls are to be correctly aligned relative to each other.
A dialog box should support scaling if there are no valid reasons for the opposite. Control elements in sizeable dialog boxes should be correctly scaled. Modified window size is to be saved to the register.
When a dialog box is opened the main control is to be focused. When it is impossible to define the main control, the one in the upper left corner should be focused.
The system should support closing a window on pressing ESC (an action is cancelled) and ENTER (operation is performed) provided that a focused control does not process data of the key.
Pressing the F1 key should open help for an active window.
All windows and dialog boxes in the system as well as all tabs if there are any, should have a unique class identifier used for calling context help.
Have an icon that differs from other icons of top-level windows.
A toolbar has a name that describes its functions.
All buttons are provided with an icon and a tooltip.
Text of menu commands that require entering additional data to complete operation, should end with an ellipsis. Use the ALT+0133 code to enter the "…" character.
The window of the View menu should include the Toolbars submenu, which displays the list of toolbars of the main window. The toolbars may be displayed and hidden. This submenu should also include the Customize option (in the end of the menu) that opens a standard toolbar customization dialog box.
Clicking the right mouse button over toolbars area of a window should display a pop-up menu with the same options as the View > Toolbars menu.
All toolbar buttons should have corresponding functions in the menu.
Location of panels when a window is opened for the first time should be convenient, intuitive and compact.
Docking a panel in an appropriate area of a window should be prohibited.
The View menu for each bar should contain a command with the name of the bar that allows displaying and hiding this panel. Commands for various bars of a window are to be united into a group.
Panel layout is to be correctly maintained between user sessions.
A title should include names of an object and of a system block.
When closing a window the system should display a dialog box to confirm saving modified data: Yes/No/Cancel.
The status bar displays information on the current state of the system and buttons (that do not look like buttons) of functions meant for advanced users only.
Progress bars are displayed in the status bar. Exception to the rule: in master windows progress bars can be displayed within windows.
Menu items should start with an uppercase letter.
All items of the first-level menu activate drop-down menus.
No more than two submenu levels should be used.
Menu icons are used only for most frequently used items.
Items opening submenus look different than terminal elements.
Menu items for the operations unavailable at the moment are to be blocked. Items of the first-level menu cannot be blocked.
If possible, all objects displayed in an interface have specific pop-up menus.
Context menus include maximum ten items.
Context menu items are sorted in decreasing order of frequency of their usage.
All items of context menus are included in other areas of the interface, there are no commands that can be run only using a context menu.
Groups of interactive elements (form fields, radio buttons and so on) have maximum seven elements.
The Cancel button is always the rightmost.
Multi-page forms are indicated as such. A user may always see how many pages are left. For example, "Xth screen of Y pages".
If a form contains several buttons, one of the buttons is used as a default one. Hazardous buttons are not selected as default buttons.
Operations resulting in possible data loss can be performed only after they are confirmed by the user. Format of a message to confirm operation on a single object: "Do you really want to <operation> <object>?" "Yes/No". Format of a message to perform operation on multiple objects: "Do you really want to <operation> objects (<number of objects> )?" "Yes/No".
If there is free space in the window, termination button looks larger than other buttons.
Buttons are positioned in the area which they directly influence.
Termination buttons (buttons controlling the window) are positioned either at the bottom in a row or at the right in a column.
Buttons affecting a whole tabs block are positioned outside the block.
If the content of a window or a tab is automatically augmented, for example, this is a list of incoming messages, the name of the interface element that opens this window or tab displays the number of objects in this window and the number of new objects. For example: Documents (8/3)".
Menu options and buttons that require additional actions of a user have an ellipsis (...) at the end. Examples: the Save As option require an ellipsis, as the user should select file name, while the About element does not require an ellipsis, as the window to be opened does not have independent interface elements.
Captions to the interface elements are placed uniformly.
Unavailable interface elements are blocked and not hidden.
Interface cannot include controls without any functions.
All forms used to gather information should contain the following options: Other and Not Applicable or similar.
All required fields are marked and contain appropriate comment.
In all forms used to gather information, purpose of gathering data is described. The forms also contain an explanation describing how the data are to be processed.
All main interface elements are provided with tooltips text of which describes the result of using these elements.
Slang expressions are not used in interfaces.
Negative wording is not used for interfaces. For example, you cannot use the Do Not Display Comments checkbox. Use the Display Comments checkbox instead.
No element can have different names in different parts of an interface (interface glossary is created in explicit form and verified).
Text of all confirmation messages contains the name of the object on which the operation is performed.
To improve the human readability long numbers are separated with system thousands separator. For example: 1 234 567.
Each element of a menu ends with a point or starts with an uppercase letter according to the rule: Text of all elements starts with an uppercase letter. All elements end with the last letter of a word without any punctuation marks, except the last element which ends with a point. Exception to the rule: when at least one menu element contains more than one sentence, all elements start with an uppercase letter and end with a point.
Each list is preceded by at least one text paragraph.
In tables all columns containing numerical data are right-aligned.
A point in the end of a phrase is not used in titles (if they are separated from the text), in the end of a label under an image and in tables.
Text labels for interface elements start with an uppercase letter and end with a semicolon.
Size of controls and their layout should allow for translating interface to other languages (English in the first place).
When text labels are aligned to the right edge the text of these labels is also aligned right.
Interface control list / Usethics [In the Internet] // usethics.usability testing and interface designing. - Usethics, 11.28.2005 - http://www.usethics.ru/lib/software_checklist.html.
See also: