For a large table that exceeds the capacity of one display frame, ensure that users can see column headings and row labels in all displayed sections of the table.
Design display formats so that user guidance
material is readily distinguishable from displayed data.
Comment:
Consistent location of user guidance on the display will usually suffice, but other formatting conventions
may help distinguish particular categories of user guidance, such as labels, prompts, etc., as recommended in other
guidelines.
Label all displayed data clearly.
Comment
: Labels for individual data fields can be omitted only where display format and labeling of grouped data
clearly identify subordinate items, as in row/column labeling of tabular data.
When a user must enter numeric values that will later be displayed, maintain all significant zeros; zeros should
not be arbitrarily removed after a decimal point if they affect the meaning of the number in terms of significant
digits.
In dense tables with many
rows, insert a blank line (or some other distinctive feature to aid horizontal
scanning) after a group of rows at regular intervals.
Example:
For many applications it will suffice to insert a blank line after every five rows.
Example:
| (Good) | APL | (Bad) | APL |
| COBOL | | COBOL |
| FORTRAN | | FORTRAN |
| PL1 | | PL1 |
Design the data entry transactions and associated displays so that a user can
stay with one method of entry, and not have to shift to another.
Example: Minimize shifts from lightpen to keyboard entry and then
back again.
Example: As a negative example, a user should not have
to shift from one keyboard to another, or move from one work station to another,
to accomplish different data entry tasks. Comment
: This, like other guidelines here, assumes a task-oriented user, busy or even overloaded, who needs
efficiency of data entry.
For position designation on an electronic display,
provide a movable cursor with distinctive visual features (shape, blink, etc.).
Exception: When position designation involves only
selection among displayed alternatives, highlighting selected items might be
used instead of a separately displayed cursor.
Comment: When choosing a cursor shape, consider
the general content of the display. For instance, an underscore cursor would be
difficult to see on a display of underscored text, or on a graphical display
containing many other lines.
Comment: If the cursor is changed to denote
different functions (e.g., to signal deletion rather than entry), then each
different cursor should be distinguishable from the others.
Comment: If multiple cursors are used on the same
display (e.g., one for alphanumeric entry and one for line drawing), then each
cursor should be distinguishable from the others.
For arbitrary
position designation, moving a cursor from one position to another, design the
cursor control to permit both fast movement and accurate placement.
Comment: Ideally, when the user
moves a pointing device the displayed cursor should appear to move instantly.
Rough positioning should take no more than 0.5 seconds for full screen
traversal. Fine positioning may require incremental stepping of the cursor, or a
control device incorporating a large control/display ratio for small
displacements, or a selectable vernier mode of control use. For any given cursor
control action, the rate of cursor movement should be constant, i.e., should not
change with time.
Comment: Slow
visual feedback of cursor movement can be particularly irritating when a user is
repeatedly pressing a cursor control key, or perhaps holding the key down. In
that case, slow feedback will cause the user to misjudge location and move the
cursor too far.
When lines must be drawn at
arbitrary positions, lengths and angles, provide a rubberbanding capability, in
which the computer displays a tentative line extending from a designated start
point to whatever is the currently proposed end point.
Comment: This technique permits users to enter or
change a line segment rapidly and with confidence by designating its starting
point and then simply moving the cursor to the desired end-point, thus placing
the "rubberband" line in its intended position. A similar capability should be
provided to aid entry/editing of specified outline figures. A rectangle might be
rubberbanded by fixing one corner and moving the opposite corner. A circle might
be rubberbanded to desired size by fixing its center and changing the extension
of its radius.
In
applications where users may create special symbols, provide a capability for
drawing (or changing) a symbol in large scale, with automatic reduction by the
computer to the needed size.
Example: Enlargement might aid in
specifying shapes to be used for plotting points or for map symbols, or in
designing icons or the letters in a font.
Comment
: When drawing symbols in large scale, a rough sketch may suffice, requiring less dexterity from a user.
The desirable degree of scale expansion will depend upon symbol complexity, and can probably be determined by
testing. Some designers recommend a 20x20 grid to provide an enlarged pixel representation, on which a user can
add or delete pixels to create a symbol.

When a user may need to perceive graphic relations more accurately, or to
view pictures, diagrams, maps, etc. in greater detail, provide a zooming
capability that allows the user to expand the display of any selected area.
Comment: Zooming can increase
display spacing among crowded data items so that they can be perceived better.
Thus an air traffic controller might expand a portion of a situation display to
see more clearly the spacing of converging tracks that threaten a collision.
Comment: Zooming can increase
the degree of detail, i.e., can add data to a display. Thus a user might expand
a city map to see detailed road structures that are not shown in a small-scale
map. When used this way, a zooming capability implies that graphic data be
"layered" hierarchically at different levels of aggregation, which may require
complex data files and data management techniques.
Comment: Zooming might be implemented as a
continuous function, by which a display can be expanded to any degree, analogous
to a continuous panning capability. Or zooming might be implemented in discrete
increments, as in increasing the magnification of an optical instrument to x2,
x4, etc. Incremental zooming, with abrupt changes in display scale, may tend to
disorient a user, but might prove acceptable in some applications.

Allow users
to specify segments of text in whatever units are natural for entry/editing.
Example: For unformatted ("free") text, natural units will be
characters, words, phrases, sentences, paragraphs, and pages; for specially
formatted text, such as computer program listings, allow specification of other
logical units, including lines, subsections, sections, etc.
When text has been specified to become the subject of
control entries, highlight that segment of text in some way to indicate its
boundaries.
Comment
: Text may be specified for various purposes -- for underlining or bolding, moving, copying, or deleting.
Highlighting provides the user with direct feedback on the extent and content of specified text, reducing the
likelihood of specification errors.
Provide
distinctive coding to highlight important display items requiring user
attention, particularly when those items are displayed infrequently.
Example: Such items might include recently changed data, or
discrepant data exceeding acceptable limits, or data failing to meet some other
defined criteria.
Comment:
"Highlight" is used here in its general sense, meaning to emphasize or make
prominent, and is not restricted to any particular method of display coding such
as brightening or inverse video.
Comment: Highlighting is most effective when used
sparingly, adding emphasis to a display which is relatively uniform in
appearance except for just a few highlighted items.
Comment: For some purposes position coding, i.e.,
displaying important items consistently in a particular location, might be a
sufficient means of highlighting, as when an error message appears in a space
otherwise left blank. But auxiliary codes may still be needed to highlight
important items, even if they are positioned consistently.
Allow users to select
and move text segments from one place to another within a document.
Comment: A user should not have to
re-enter (i.e., rekey) text that is already available to the computer.
Comment
: One convenient method of allowing the user to both move and copy text is to provide a "cut and paste"
facility in which the "cut" text remains in a storage buffer and can be "pasted" more than once. For copying, the user
can cut text, paste it back into its original location, and paste it again at a new location.
Provide
users some means for designating and selecting displayed graphic elements for
manipulation.
Example: Designation might be by pointing, in the
case of a discrete element, or might require some sort of outlining action to
delineate portions of a complex figure.

If a user must enter hierarchic data, where some items will be subordinate
to others, provide computer aids to help the user specify relations in the
hierarchic structure.
Comment
: For simple data structures, question-and-answer dialogues or form filling may suffice to maintain
necessary data relations. For more complex data structures, such as those involved in graphic data entry, special
techniques may be needed to help users specify the relations among data entries.
When data must be entered in an organized hierarchic
structure, in different sections and at different levels of increasing detail,
provide computer aids for that purpose.
Comment: At the least, the computer should provide
the user a schematic summary display of any defined data structure for general
orientation, with its branches and levels labeled for convenient reference. When
a user specifies any portion of the structure for data entry or editing, the
computer should display that section of data appropriately labeled, and perhaps
show in the display margin a diagram indicating what portion of the overall data
structure is currently being displayed.
Comment: When data at one level in a hierarchy are
dependent on data entries at other (usually subordinate) levels, the computer
should handle cross-level bookkeeping automatically, just as for cross-file
updating.
Comment: For entering
hierarchic data, a user must specify where in the data structure any new data
should be added. If the data structure is complex, it may help if the computer
automatically prompts the user to make the appropriate data entries at different
levels. Comment: If a user may need
to change the data structure, then computer aids may be needed for that purpose
as well as for data entry. The computer should bookkeep automatically any
changing relations among the data in different sections that might result from
changes to the overall data structure.

Provide
software for automatic data validation to check any item whose entry and/or
correct format or content is required for subsequent data processing.
Example: If a date is entered as "February 31", the computer should
generate an error message asking for a revised entry.
Comment: Do not rely on a user always to make
correct entries. Computer aids for checking data entries will improve accuracy.
Comment: Some data entries, of
course, may not need checking, or may not be susceptible to computer checking,
such as free text entries in a COMMENT field.