Como a validação de campo necessária deve ser tratada visualmente?
Nota: assume que o asterisco está vermelho
*Name:[_______________]
ou
Name:*[_______________]
ou
Name: [_______________]*
ou
Name: [____red bg____ ]
ou
Name(<- font color red): [_______________]
ou
Você me diz um jeito melhor!
Nunca há uma resposta certa ou errada com esse tipo de pergunta e muito depende da personalidade dos usuários (engenheiros versus usuários avançados versus tia Alice que nunca usaram um computador) e do contexto.
Uma regra geral é usar
label [input ] [validation ]
Usando a área de validação para um asterisco vermelho para indicar um campo obrigatório ou uma mensagem de erro após a validação do formulário (ou ambos).
O site Simply Accessible possui uma boa e concisa redação nos campos obrigatórios aqui: http://simplyaccessible.com/article/required-form-fields
Depende muito de vários fatores.
Pegadinhas:
Eu pensei que você poderia estar interessado nas pesquisas mais recentes do Baymards: http://baymard.com/blog/required-optional-form-fields
O resumo é o seguinte:
E a recomendação deles:
Manter o asterisco pode ser útil, e não simplesmente um indicador baseado em cores (+1 para acessibilidade). Jogue também um atributo de título no asterisco, por exemplo, <span title = "Campo obrigatório"> * </span>
Provavelmente, isso é necessário para modelá-lo adequadamente
Não acho que a posição do asterisco seja crítica - apenas seja consistente!
Eu acho que já fiz tudo isso em um ponto ou outro. O que eu caí mais recentemente é algo que exige mais trabalho, mas acho que é melhor para o usuário. Basicamente, você fornece uma pequena caixa popover vermelha com uma seta atarracada apontando em direção ao campo em questão, informando que é um campo obrigatório. Exibi-lo acima do campo em uma cor brilhante, acho que consegue entender bem o assunto sem alterar o fluxo do restante do documento com conteúdo inserido ou texto em negrito.
Fica mais complicado se você tiver vários erros e, nesse ponto, exibir vários popovers é muito desorganizado, então você decide exibir apenas o primeiro erro ou apenas um erro de cada vez e, quando um dos conflitos for resolvido, o próximo erro será resolvido. .