| |
User Support in Case of ErrorsBasic Rules | Error Messages | Setting the Focus of Attention | Support for Erroneous User Inputs | Error Prevention This page describes methods which support users after they committed an erroneous entry or action.
Basic RulesPrevent Errors!Error prevention comes first. To prevent errors, do the following:
For more information on error prevention, see below. User Error or Error in the User Interface?It is not the user who is too stupid to correctly use the interface, it is the computer software which is too stupid to intelligently interpret the user's inputs. Support Users in Recovering from ErrorsYou can do this by:
Error MessagesAn error message informs users that an error occured; it should consist of two parts: (1) a problem description and (2) an instruction for recovering from the error. Use precise field names (or field contents) and instructions in error messages. So users can recognize the element(s) which the message refers to, follow the instructions for recovery and continue their work.
For more details on messages see Formulating Messages in the SAP Reference Lists on the SAP Design Guild.
Setting the Focus of Attention... to the Place where the Error OccurredEmphasize error fields and messages by coloring them (see visual design guidelines). Scroll the screen to the field where the error occurred and position the cursor into it. Messages should also be visible without scrolling. FieldsPlace a textual description directly above the field, or field group where the error occurred. This can be accomplished by:
Combinations of Fields (e.g. Conflicting Inputs)Issue a message on top of the pushbutton that initiated the action and thus caused the error. TablesIssue a text description above the erroneous line (that is, within the table). Exception: Collective data entry in tables (see below). Avoid Popups!Popups interrupt the users' work flow and thus annoy them. Exception: You may use popups for severe errors like aborts that need direct user intervention.
Support for Erroneous User InputsIf the user input contained an error or could not be uniquely identified by the system, users can be supported by providing useful data that the users can select from - instead of havíng to re-enter the data. Complete inputs through plausible assumptions, for example:
Transform an entry field after ambiguous, or unidentifiable entries into a dropdown listbox:
Collective Entry in TablesThere are cases, where users want to book a large number of items and some of them lead to errors after the booking has been initiated by the user. Here, users do not want to be bothered with the correctly booked items, but have to take measures to correct the erroneous bookings. Therefore, display the table again, but only with the erroneous items (provide a respective error message).
Error PreventionPreventing errors - instead of remedying them - has the following benefits:
Often it needs some rethinking and the giving up of "old habits" to find design solutions that prevent errors instead of sending an error message after an error has occurred. Do Not Let Users "Pay" for System WeaknessesMany systems work the way that they need help from the users, not the other way round as it should be. For example, often users are required to enter data in a certain format, because the system otherwise cannot recognize the input as valid data. As a consequence, an error handling procedure is needed, because users make errors. Sometimes the system is even "nicer" to the users and also provides online instructions for them. So they can read how they should enter the data. Actually, even this does not help much - users still make errors and developers complain about their "stupid" users. This way of thinking is on the wrong track. The problem is not on the side of the users, and they are not too "stupid" to read the instructions and enter the data correctly. The problem is on the side of the system, which forces users to act in a "system-friendly" manner. Instead of requiring users to enter data in a certain format, an input field could interpret the data "intelligently". This prevents users from entering invalid data, and there would neither be a need for an onscreen instruction, nor for an error handling procedure. TipsIn the following we provide some ideas and examples, which may stimulate your imagination when looking for ways of how errors can be prevented.
Source: SAP Interaction Design Guide for Internet Application Components |