8.1 Tag <datalist>
A tag <datalist>
é usada para fornecer uma lista de opções pré-definidas para elementos
<input>
. Isso permite que os usuários escolham valores de uma lista de opções sugeridas, facilitando
a entrada de dados e garantindo uma entrada mais precisa e previsível.
Sintaxe
<datalist id="list-id">
<option value="Option 1">
<option value="Option 2">
<option value="Option 3">
</datalist>
<input list="list-id">
A tag <datalist>
não possui atributos específicos, mas seu aspecto importante é a ligação com o elemento
<input>
através do atributo list
deste último. O atributo id da tag <datalist>
deve
coincidir com o valor do atributo list
do elemento <input>
.
Exemplo de uso:
<form>
<label for="browser">Escolha o navegador:</label>
<input list="browsers" id="browser" name="browser">
<datalist id="browsers">
<option value="Chrome">
<option value="Firefox">
<option value="Safari">
<option value="Opera">
<option value="Edge">
</datalist>
<button type="submit">Enviar</button>
</form>
Explicação:
- Elemento
<datalist>
: contém uma lista de valores possíveis para entrada - Elemento
<input>
: contém o atributolist
, que o liga ao elemento<datalist>
através do identificador browsers
Vantagens do uso de <datalist>
- Facilidade para o usuário: fornecer opções pré-definidas permite que os usuários insiram dados mais rápido e com mais precisão
- Redução de erros de entrada: oferecendo opções pré-definidas, é possível reduzir o número de erros de entrada
- Melhoria na experiência do usuário: os usuários podem facilmente escolher entre as opções sugeridas, tornando o formulário mais interativo e fácil de usar
Limitações de <datalist>
- Suporte limitado a estilização: opções dentro do
<datalist>
não podem ser estilizadas tão flexivelmente quanto elementos regulares - Diferenças de implementação: navegadores diferentes podem exibir a lista de opções de forma diferente, o que pode afetar a uniformidade da experiência do usuário
8.2 Tag <output>
A tag <output>
é usada para exibir o resultado de cálculos ou ações realizadas com JavaScript. Esta tag é ideal para exibir conteúdo que muda dinamicamente, como resultados de cálculos, dados de formulários ou outros valores que podem mudar em tempo real.
Sintaxe
<output name="result" for="input-id-1 input-id-2">Resultado</output>
Atributos
name
: define o nome do elemento<output>
, que pode ser usado em JavaScript para obter ou alterar o valorfor
: contém uma lista de identificadores de elementos aos quais o valor atual do<output>
está associado. Isso é útil para vincular a saída a vários elementos de entrada
Exemplo de uso:
<form oninput="calculateSum()">
<label for="num1">Número 1:</label>
<input type="number" id="num1" name="num1">
<br>
<label for="num2">Número 2:</label>
<input type="number" id="num2" name="num2">
<br>
<output id="result" name="result" for="num1 num2">0</output>
</form>
function calculateSum() {
const num1 = parseFloat(document.getElementById('num1').value) || 0;
const num2 = parseFloat(document.getElementById('num2').value) || 0;
const sum = num1 + num2;
document.getElementById('result').value = sum;
}
Explicação:
- Elemento
<output>
: usado para exibir o resultado dos cálculos - Atributos
for
ename
: ligam o elemento<output>
aos elementos de entrada e permitem identificá-lo facilmente em JavaScript - Função
calculateSum()
: é chamada quando os valores de entrada mudam e atualiza o valor de<output>
Vantagens do uso de <output>
- Facilidade para exibir resultados: a tag
<output>
fornece uma forma semanticamente correta de exibir resultados de cálculos ou outros dados dinâmicos - Facilidade de integração com JavaScript: é fácil obter e alterar valores de
<output>
com JavaScript, tornando-a ideal para aplicativos web dinâmicos - Clareza do código: o uso de
<output>
ajuda a manter o código HTML limpo e semanticamente correto, melhorando a manutenção e legibilidade do código
Limitações de <output>
- Suporte limitado a estilos: assim como no caso de
<datalist>
, a estilização do elemento<output>
pode ser limitada em comparação com outros elementos - Dependência de JavaScript: na maioria dos casos,
<output>
é usado em combinação com JavaScript, o que pode não ser adequado para todos os cenários
8.3 Tag <label>
A tag <label>
é usada para criar um rótulo de texto para um elemento de formulário. Ela pode ser ligada a
um elemento de formulário de duas maneiras: através do atributo for
ou incorporando o elemento de formulário dentro da tag
<label>
. Esses métodos permitem melhorar a acessibilidade do formulário para usuários com deficiências,
como aqueles que usam leitores de tela.
O atributo for
liga o rótulo ao elemento de formulário, usando o identificador do elemento (valor do atributo
id
). Isso permite que os usuários cliquem no rótulo para focar ou ativar o elemento de formulário associado.
Exemplo de uso do atributo for:
<label for="username">Nome de usuário:</label>
<input type="text" id="username" name="username">
Elemento de formulário incorporado
O elemento de formulário pode ser incorporado dentro da tag <label>
, o que também os liga.
Neste caso, o atributo for
não é necessário.
Exemplo de uso de elemento de formulário incorporado:
<label>Nome de usuário:
<input type="text" name="username">
</label>
Vantagens do uso da tag <label>
- Melhoria da acessibilidade: rótulos ajudam os usuários que usam leitores de tela a entender quais dados são necessários para cada elemento de formulário. Os leitores de tela leem os rótulos junto com os elementos de formulário, tornando o formulário mais acessível.
- Facilidade de uso: os usuários podem clicar no rótulo para focar ou ativar o elemento de formulário correspondente. Isso é especialmente útil para elementos pequenos, como caixas de seleção e botões de rádio.
- Aumento da clareza: os rótulos ajudam os usuários a entender melhor quais dados são necessários para cada elemento de formulário, reduzindo o número de erros de entrada de dados.
GO TO FULL VERSION