Ergonomics and Heuristics are addressed in the International Standards Organization's ISO 9241-110. Seven principles of successful ergonomic design of user interfaces are given in Part 110:

Is the dialogue suitable for the user's task and skill level? (Suitability for the task)
“A dialogue is suitable for a task when it supports the user in the effective and efficient completion of the task. In a dialogue which is suitable for the task, the user is enabled to focus on the task itself rather than the technology chosen to perform that task.”
Does the dialogue make it clear what the user should do next? (Self-descriptiveness)
“A dialogue is self-descriptive to the extent that at any time it is obvious to the users which dialogue they are in, where they are within the dialogue, which actions can be taken and how they can be performed.”
Is the dialogue consistent? (Conformity with user expectations)
“A dialogue conforms with user expectations if it corresponds to predictable contextual needs of the user and to commonly accepted conventions.”
Does the dialogue support learning? (Suitability for learning)
“A dialogue is suitable for learning when it supports and guides the user in learning to use the system.”
Can the user control the pace and sequence of the interaction? (Controllability)
“A dialogue is controllable when the user is able to initiate and control the direction and pace of the interaction until the point at which the goal has been met.”
Is the dialogue forgiving? (Error tolerance)
“A dialogue is error-tolerant if, despite evident errors in input, the intended result may be achieved with either no or minimal corrective action by the user. Error tolerance is achieved by means of damage control, error correction, or error management to cope with errors that occur.”
Can the dialogue be customised to suit the user? (Suitability for individualisation)
“A dialogue is capable of individualization when users can modify interaction and presentation of information to suit their individual capabilities and needs.”


Best Practice:  Make user interactions obvious to the end user.