Conceitos que eu utilizo na prática para deixar os sistemas que eu trabalho bem legal.
-
Deve estar desabilitado quando o formulário estiver intocado.
-
Se o formulário sofreu qualquer alteração, perguntar confirmação para o usuário se ele realmente quer cancelar.
-
Se o formulário estiver intocado, pode ser escolhido o que fazer: voltar para a página anterior, ou fazer nada ao clicar caso não existe uma página anterior (nesse caso o botão pode estar desabilitado pois é um caso que não faz sentido clicá-lo).
- Ao clicar em pesquisar e se não houver nenhum resultado, deixar claro ao usuário que não foi retornado nenhum resultado.
-
Quando é executado alguma ação que pode demorar, é exibido ao usuário alguma informação para ele aguardar.
-
Deve ajudar o usuário a evitar de informar um dado com erro.
-
Os campos onde são informado os dados devem ter o tamanho/comprimento proporcional a resposta esperada do usuário.
-
Se o usuário tem alguma regra que proíba ele de utilizar o form então deixar inativado parcialmente ou completamente o form mostrando o porque.
-
Deve ser claro ao usuário quais campos são opcionais e obrigatórios.
-
Dados informados nos formulários não-podem ser perdidos quando o usuário trocar de tela.
-
Os formulários não devem permitir aparecer caracteres que são proibidos e depois remover rapidamente.
- Deve evitar multiple-posts.
- Deve estar desabilitado quando o formulário estiver intocado.
- O sistema retorna um feedback quando uma ação foi feita com sucesso.
- O sistema retorna um feedback quando uma ação quando ocorreu um erro.
- Botão voltar do navegador deve voltar corretamente na página que o usuário estava.
http://en.wikipedia.org/wiki/Usability
23 forms and data entry usability guidelines http://www.userfocus.co.uk/resources/formschecklist.html