A tag <output> é um recurso poderoso e pouco explorado do HTML para exibir resultados dinâmicos na interface. Ela resolve cenários que antes acabavam em combinações de <div> genéricas com ARIA manual e mais código para manter.
A função principal da <output> é clara: representar o resultado de um cálculo ou de uma ação do usuário.
Por que usar <output>?
- Acessibilidade automática: leitores de tela conseguem anunciar mudanças de conteúdo com mais consistência, reduzindo a dependência de gambiarras de live-region em casos simples.
- Semântica limpa: o HTML passa a descrever explicitamente que aquele trecho é o resultado de uma interação.
- Manutenção mais simples: menos atributos extras e menor chance de regressão de acessibilidade.
Exemplos práticos de uso
A <output> funciona muito bem em cenários de atualização em tempo real no cliente e também em respostas de API.
1. Cálculo com slider
<div role="group" aria-labelledby="mileage-label">
<label id="mileage-label" for="mileage">Milhagem anual</label>
<input id="mileage" name="mileage" type="range" value="12000" />
<output name="formattedMileage" for="mileage">
12.000 milhas/ano
</output>
</div>
Dica: o atributo for="mileage" cria vínculo explícito com o campo de entrada.
2. Feedback de validação/status
<label for="password">Senha</label>
<input type="password" id="password" name="password" />
<output for="password">
Força da senha: Forte
</output>
Esse padrão é útil para feedback imediato sem quebrar o fluxo do formulário.
3. Saída de cálculo vindo do servidor/API
// Exemplo em React: output exibe retorno da API de frete
<output name="price" htmlFor="weight">
{price ? `Custo estimado: $${price}` : "Calculando..."}
</output>
Quando o valor chega do backend, a interface comunica o novo estado de forma mais semântica.
Boas práticas rápidas
- Use
<output>para resultado (não para texto estático). - Mantenha o vínculo com
for/namequando fizer sentido. - Combine com labels claros e mensagens objetivas.
- Teste com teclado e leitor de tela para validar a experiência real.
A tag <output> é uma joia esquecida da especificação HTML. Usada corretamente, ela melhora semântica, acessibilidade e manutenção com uma mudança pequena de marcação.
Este post está licenciado sob CC BY-NC.
Comentários
Participe da discussão abaixo.
Comentários ainda não configurados. Adicione as opções do Cusdis em /assets/json/config/blog-comments-config.json.