Verificador de tamanho mínimo de fonte acessível
Textos pequenos podem dificultar o uso de uma interface que, em outros aspectos, funciona bem, principalmente para pessoas com baixa visão, leitores mais velhos e quem usa a tela em condições desfavoráveis.
Executar grátis
Este verificador compara um tamanho em pixels CSS com um mínimo prático para corpo de texto, legenda ou rótulo de botão. Ele informa o limite aplicável, se o valor o atende e a diferença exata. O resultado serve como triagem inicial de acessibilidade e não significa que apenas o tamanho torne um projeto acessível.
Defina a função do conteúdo antes de avaliar o número
O tamanho da fonte não é suficiente para uma decisão, pois cada texto exerce uma função diferente. Para leitura contínua, o corpo de texto usa neste verificador um mínimo comum de 16 pixels CSS. Legendas são mais curtas e secundárias, então o limite adotado é 12 pixels. Rótulos de botão precisam permanecer legíveis dentro do controle e são comparados com 14 pixels. Escolha a função das palavras, não apenas a aparência do elemento. Uma linha sob uma imagem continua sendo legenda mesmo que use a mesma família do artigo. O texto de um controle acionável continua sendo rótulo de botão ainda que o controle pareça um link. Explicitar a função mantém auditorias consistentes entre páginas e impede que o menor limite seja aplicado a tudo. Esses valores são referências práticas comuns, não critérios legais universais. Seu design system pode exigir mínimos maiores conforme o público, a fonte, os dispositivos usados ou as condições de leitura.
Use o resultado como uma decisão de triagem
A resposta apresenta o tamanho enviado, o tipo de conteúdo, o mínimo da comparação, um indicador de atendimento e a diferença com sinal. Diferença zero significa que o tamanho coincide com o limite e passa nesta verificação. Um valor negativo mostra quanto falta; um valor positivo indica a margem disponível. A comparação direta ajuda em revisões de tokens, inventários de componentes, controles automatizados e critérios de aceite, pois transforma uma preocupação subjetiva em uma decisão reproduzível. Ainda assim, passar deve ser o começo da avaliação, não o final. O tamanho percebido varia com família tipográfica, peso, desenho das letras, altura de linha, densidade da tela, zoom e composição. Um texto de 16 pixels ainda pode ser cansativo com contraste baixo ou linhas longas. Use o alerta para encontrar riscos rapidamente e depois avalie o componente renderizado com conteúdo real, configurações assistivas e pessoas representativas sempre que possível.
Combine o mínimo com tipografia adaptável
Uma tipografia acessível precisa resistir às adaptações que as pessoas fazem na página. Depois de corrigir um tamanho sinalizado, confirme que o texto aceita zoom sem cortes, os controles crescem sem perder rótulos e o layout reorganiza o conteúdo sem exigir rolagem horizontal. Na implementação, prefira unidades CSS relativas quando elas preservarem as preferências do usuário, embora este verificador receba pixels para manter uma comparação objetiva. Verifique o contraste nos estados normal, foco, interação, desabilitado e erro. Ofereça altura e comprimento de linha confortáveis ao corpo e não esconda instruções essenciais em legendas minúsculas. Em botões, um rótulo legível não corrige uma área de toque pequena, foco invisível ou nome acessível ausente. Os limites são simples de propósito: 16 pixels para corpo, 12 para legendas e 14 para botões. Se o produto atende pessoas com baixa visão, telas distantes ou uso externo, adote um padrão interno maior e trate esta resposta apenas como alerta de base.
Casos de uso
Revisar tokens de design
Compare valores tipográficos com uma referência consistente antes de implementar componentes em todo o produto.
Auditar uma biblioteca de componentes
Sinalize corpo de texto, legendas e rótulos de botão pequenos ao inventariar componentes reutilizáveis.
Adicionar uma verificação de lançamento
Use o resultado determinístico da API para detectar regressões de tamanho em um processo documentado de acessibilidade.
Perguntas frequentes
Atingir o mínimo garante conformidade de acessibilidade?
Não. Esta é uma triagem prática, não uma certificação legal. Contraste, zoom, reorganização, espaçamento, legibilidade da fonte, conteúdo e interação também importam.
Qual unidade de tamanho devo informar?
Informe o tamanho calculado em pixels CSS. Se a folha de estilos usa rem ou em, converta o valor renderizado em pixels antes da verificação.
Quais limites são usados?
A ferramenta compara corpo com 16px, legendas com 12px e rótulos de botão com 14px. São referências práticas comuns que seu design system pode aumentar.
Por que legendas podem ser menores que o corpo?
Legendas costumam ser breves e secundárias, mas ainda precisam ser legíveis. Não esconda instruções essenciais em uma legenda pequena.
O que ocorre ao enviar outro tipo de conteúdo?
A solicitação retorna um erro de entrada inválida. Use body, caption ou button_label para aplicar um limite definido.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/verify/accessibility-font-size-min-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"font_size":16,"content_type":"body"}'const res = await fetch("https://api.kit.forhosting.com/verify/accessibility-font-size-min-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"font_size": 16,
"content_type": "body"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/accessibility-font-size-min-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"font_size": 16,
"content_type": "body"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/accessibility-font-size-min-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"font_size":16,"content_type":"body"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"font_size":16,"content_type":"body"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/accessibility-font-size-min-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"font_size": 16,
"content_type": "body"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.accessibility_font_size_min_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |