Maria tinha uma pequena forma e seus campos eram rotulados exatamente assim.
Sempre que um erro aparecia, a confusão semeava.
Eu tenho um rótulo para cada campo de entrada ... caso bastante padrão. Depois de validar o formulário, estou exibindo um pequeno parágrafo útil na parte superior do formulário, detalhando quais informações estão ausentes ou incorretas.
Posso ter dois rótulos para o mesmo campo de entrada? Um no formato adequado e outro no texto do lembrete de validação? Existe alguma razão para eu não fazer isso?
label
. Você pode até omitir ofor
eid
atributos. A especificação chama essa associação implícita.Respostas:
Presumo que esta pergunta seja sobre formulários HTML. A partir da especificação :
Assim, cada controle de formulário pode ser referenciado por vários rótulos, mas cada rótulo pode fazer referência apenas a um controle. Portanto, se faz sentido ter um segundo rótulo para um controle (e na situação que você descreve), fique à vontade para adicionar um segundo rótulo.
fonte
O HTML é legal e funciona (clicar em qualquer um dos rótulos transferirá o foco para o campo em questão).
É um pouco mais complicado fazer o certo por razões de acessibilidade.
Não é uma abordagem "comum" e, por isso, pelo menos um leitor de tela comum (testei com o NVDA) só lê o primeiro rótulo quando você muda o foco para o campo - ele ignora quaisquer rótulos adicionais para o mesmo campo.
Portanto, se sua mensagem de erro estiver na parte superior da página, um usuário cego ou com visão subnormal percorrendo os campos ouvirá apenas a mensagem de erro ao aterrar no campo em questão, não o rótulo "real" ao lado.
Portanto - se você escrever a mensagem de erro corretamente, isso pode ser uma coisa boa (certamente melhor do que apenas destacar o campo não validado em vermelho!).
fonte
Sim, você pode ter vários rótulos apontados para o mesmo controle de formulário. Isso é perfeitamente legal :
Este é apenas um exemplo ... normalmente você agruparia essas linhas com um rótulo, uma vez que estão próximas.
fonte
LABEL
pode estar associado ao mesmo controle, criando várias referências por meio dofor
atributo".