Correspondência entre o sistema e o mundo real
O sistema deve falar a língua do usuário, com palavras, frases e conceitos familiares ao usuário, em vez de termos orientados ao sistema. Siga as convenções do mundo real, fazendo com que as informações apareçam em uma ordem natural e lógica.
Visibilidade do status do sistema
O sistema deve sempre manter os usuários informados sobre o que está acontecendo, por meio de feedback adequado em tempo razoável.
Controle e liberdade do usuário
Os usuários geralmente escolhem as funções do sistema por engano e precisarão de uma "saída de emergência" claramente marcada para sair do estado indesejado sem ter que passar por um diálogo prolongado. Suporte desfazer e refazer.
Consistência e padrões
Os usuários não devem se perguntar se palavras, situações ou ações diferentes significam a mesma coisa.
Prevenção de erros
Ainda melhor do que boas mensagens de erro é um design cuidadoso que evita que um problema ocorra em primeiro lugar. Elimine as condições propensas a erros ou verifique-as e apresente aos usuários uma opção de confirmação antes de se comprometerem com a ação.
Reconhecimento em vez de lembrança
Minimize a carga de memória do usuário tornando objetos, ações e opções visíveis. O usuário não deve ter que lembrar informações de uma parte do diálogo para outra. As instruções de uso do sistema devem ser visíveis ou facilmente recuperáveis sempre que apropriado.
Flexibilidade e eficiência de uso
Aceleradores — invisíveis para o usuário iniciante — muitas vezes podem acelerar a interação para o usuário experiente, de modo que o sistema possa atender a usuários inexperientes e experientes. Permita que os usuários personalizem ações frequentes.
Design estético e minimalista
Os diálogos não devem conter informações irrelevantes ou raramente necessárias. Cada unidade extra de informação em um diálogo compete com as unidades de informação relevantes e diminui sua visibilidade relativa.
Ajude os usuários a reconhecer, diagnosticar e se recuperar de erros
As mensagens de erro devem ser expressas em linguagem simples (sem códigos), indicar com precisão o problema e sugerir uma solução de forma construtiva.
Ajuda e documentação
Embora seja melhor que o sistema possa ser usado sem documentação, pode ser necessário fornecer ajuda e documentação. Qualquer informação desse tipo deve ser fácil de pesquisar, focada na tarefa do usuário, listar etapas concretas a serem executadas e não ser muito grande.