Table 1

A list of Nielsen's usability heuristics with descriptions32

Usability heuristicDescription
Visibility of system statusThe system should always keep the user informed about what is going on through appropriate feedback within reasonable time
Match between system and the real worldThe system should speak the user's language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order
Consistency and standardsThe user should not have to wonder whether different words, situations, or actions mean the same thing
Aesthetic and minimalist designDo not include information that is irrelevant and/or rarely needed
Recognition rather than recallMinimise user memory overload by making objects, actions and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for using the system should be visible or easily retrievable whenever appropriate
User control and freedom
  • After choosing a system function by mistake, the user needs a clearly marked ‘emergency exit’ to leave the unwanted state without having to go through an extended dialogue.

  • Support ‘undo’ and ‘redo’

Error preventionA careful design that prevents problems from occurring in the first place
Help users recognise, diagnose and recover from errorsError messages should be expressed in plain language (no codes), precisely indicate the problem and constructively suggest a solution
Help and documentationHelp and documentation should be available, concise, concrete, specific, easy to search, and focused on the user's task
Flexibility and efficiency of use
  • Provide shortcuts for the expert user. Accelerators—unseen by the novice user—often may speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users

  • Allow users to tailor frequent actions