Consistency helps a user transfer knowledge from one application to another. The following design principles address consistent user interfaces:
For example, the Motif guidelines specify that a user should be able to use the same technique for editing text, regardless of where the text appears.
Determine whether making one control consistent within an interface will affect the consistency of other controls. For example, user interface controls might be consistent in shape, location, or color, while others might be consistent in interaction techniques.
Remember that consistency is a means to an end -- ease of learning, ease of use, and reduction of errors -- rather than an end itself. Sometimes it is impractical or impossible to be completely consistent. In that case, make consistency compromises based on your knowledge of the user.
Users can become confused if the interface changes constantly while they work. The following design principles address continuity:
For example, displaying the cannot pointer over a target element when the user attempts to drop a source element on it indicates a problem with the target element.
For example, when the user adds objects to a container, the appearance of the container's window should remain the same while the appearance of the window's contents changes.
For example, the user should not have to use a pointing device to scroll text while editing that text from the keyboard. The text should scroll automatically when the cursor reaches a boundary; the keyboard should have its own scrolling mechanisms, such as keys that move the cursor up or down in the window.
A new application or a new version of an existing application should build on the user's knowledge. Do not discount the user's experiences with other user interfaces, such as those provided in prior versions of an application or those generally accepted as industry standards. When designing your application, design the application to behave in a manner similar to previous versions or to other applications if it is part of a suite of applications. In addition, maintain visual consistency throughout your application and any related applications.
Provide consistent behavior within your application and between applications. Observe the following design principles:
If an old behavior is recognized by many users, consider supporting the old behavior. Although backward compatibility is desirable, a poorly implemented application could result in a mixed model that is not easily learned and used.
Though consistency is important, it may not be appropriate to continue using a poorly designed interface. Weigh the needs of experienced users against the need for updated design.
Maintain visual consistency throughout your application and between applications, if possible. Pay attention to visual elements such as the typeface and color. Observe the following design principles:
For example, when using the Times Roman font, show differences by making the typeface bold, italic, a different size, or underlined. You can use an additional font when there is a genuine need for more contrast in the information. However, vary the fonts only when the information is significantly different or when the choices of typefaces within an available font are limited.
Design all of one type of element to have the same font and typeface. Pay particular attention to labels, choices, and text fields. For example, design all labels to use one font and typeface.
When choosing a set of fonts to be displayed together, choose fonts that have noticeable contrast. The contrast can be of structure (serif or sans serif), weight, form, size, or any combination of these. Do not choose two serif fonts that are similar in size and weight to indicate different information.
Limit the number of fonts used in an interface to two. Choosing three fonts that work well together is difficult.
The user should be able to clearly distinguish one unrelated element from another. For example, if two unrelated elements appear visually similar (such as both are the same color), the similar color might lead the user to believe that a relationship exists between the elements, even though it does not.