Questão de Programação — HTML (HyperText Markup Language) — Quadrix 2023
- Código
- qg027184
- Banca
- Quadrix
- Órgão
- CREFITO-7ª Região(BA e SE)
- Ano
- 2023
- Nível
- Superior
- Cargo
- Programador(a)
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO. A afirmação está incorreta porque, no HTML5, o elemento <label> pode e deve ser associado a um elemento de controle de formulário (como <input>), e essa associação é uma prática recomendada para melhorar a acessibilidade e a usabilidade. O código apresentado está sintaticamente correto e será interpretado normalmente pelo navegador, não havendo qualquer erro de compilação.
O elemento <label> é um componente fundamental em formulários HTML. Sua função é fornecer uma descrição textual para um controle de formulário, como campos de texto, caixas de seleção, botões de rádio, entre outros. Essa associação pode ser feita de duas maneiras principais: aninhando o controle dentro do <label> (como no código da questão) ou usando o atributo for no <label> e o atributo id no controle, apontando para ele.
No código apresentado, o <label> envolve diretamente o <input>, o que é uma forma válida e comum de associação implícita. O navegador, ao processar esse HTML, entende que o texto "Usuário" e "Senha" estão rotulando os respectivos campos. Isso traz benefícios como: ao clicar no texto do rótulo, o foco é direcionado para o campo correspondente, e leitores de tela conseguem anunciar corretamente a função de cada campo para usuários com deficiência visual.
A afirmação do enunciado contém dois erros conceituais: primeiro, diz que a associação "não é permitida", o que é falso, pois é exatamente o propósito do elemento <label>; segundo, afirma que o código "não será compilado corretamente", o que também é falso, pois HTML não é uma linguagem compilada — é uma linguagem de marcação interpretada pelo navegador, e este código é perfeitamente válido.
A pegadinha desta questão está em inverter o conhecimento básico sobre HTML: o candidato que sabe que <label> serve para rotular controles percebe imediatamente que a afirmação é falsa. A banca tenta confundir quem não domina o conceito, fazendo parecer que a associação é um erro de sintaxe.
A afirmação está errada por dois motivos principais:
A associação é permitida e recomendada: O elemento <label> foi projetado exatamente para ser associado a um controle de formulário. No código, o <label> envolve o <input>, criando uma associação implícita válida. Isso é uma prática padrão em HTML5 para melhorar a acessibilidade.
Não há erro de compilação: HTML não é uma linguagem compilada. O navegador interpreta o código e o renderiza. O código apresentado é sintaticamente correto e será exibido normalmente, com os campos de texto e o botão de submissão funcionando.
A associação correta entre <label> e <input> pode ser feita de duas formas:
Implícita: o controle fica dentro do <label> (como no código da questão).
Explícita: usa-se o atributo for no <label> com o mesmo valor do atributo id do controle.
Ambas são válidas e amplamente utilizadas. A forma implícita, presente no código, é perfeitamente aceitável.
Para questões sobre HTML, lembre-se de que <label> é um elemento de associação, não de separação. Ele serve para vincular texto a um controle de formulário, melhorando a acessibilidade. Se a afirmação disser que essa associação é proibida ou causa erro, está errada. Além disso, HTML não é compilado — é interpretado pelo navegador, então termos como "erro de compilação" são inadequados.
Gabarito: ERRADO
Link permanente: /questoes/qg027184