Pular para o conteúdo principal

Questão de Programação — HTML (HyperText Markup Language) — Quadrix 2023

ProgramaçãoHTML (HyperText Markup Language)
Código
qg027184
Banca
Quadrix
Órgão
CREFITO-7ª Região(BA e SE)
Ano
2023
Nível
Superior
Cargo
Programador(a)
<form>
    <fieldset>
       <legend>Login</legend>
       <p><label>Usuário <input type=”text” name=”usuario” required></label></p>
       <p><label>Senha <input type=”password” name=”senha” required></label></p>
    </fieldset>
    <p><button type=”submit”>Submeter</button></p>
</form>
Com relação ao código HTML5 acima apresentado, julgue o item.No código HTML5 apresentado, o elemento <label> foi associado com um elemento de controle, o que não é permitido. Dessa forma, o código não será compilado corretamente.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

HTML: associação do elemento <label> com controle de formulário

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.

1Implícita
Controle dentro do label
Válida (código da questão)
2Explícita
Atributo for + id
Válida
3Benefícios
Clique no texto foca o campo
Leitores de tela anunciam o rótulo
4HTML
Não é compilado
É interpretado pelo navegador
Associação label × controle
LEVELsoulevel.com.br
Associação label × controle: Implícita (Controle dentro do label, Válida (código da questão)); Explícita (Atributo for + id, Válida); Benefícios (Clique no texto foca o campo, Leitores de tela anunciam o rótulo); HTML (Não é compilado, É interpretado pelo navegador)

Item — ❌ ERRADO

A afirmação está errada por dois motivos principais:

  1. 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.

  1. 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.

PEGA ESSA DICA!

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