Diagnóstico
O Diagnóstico é o que a Régua Pro acrescenta: um botão na barra que varre a página aberta e aponta falhas de interface e de SEO, cada uma presa ao elemento, com a medida que prova o problema e uma sugestão de correção.
Como funciona
Clique em Diagnóstico na barra. A varredura acontece em blocos, nos intervalos ociosos do navegador, então a página continua respondendo; ela atravessa shadow roots abertos e iframes do mesmo site. O painel tem duas abas, Interface e SEO, cada uma com uma nota de 0 a 100 e os problemas agrupados por regra.
- Cada problema ganha um pin na página. Passe o mouse num pin ou num item da lista e a Régua desenha a medida real.
- Ignore deixa um problema de lado e Ignore rule, a regra inteira; a escolha fica salva para as próximas varreduras, e Show / Hide mostra ou esconde o que foi ignorado.
- Copy for agent copia um prompt em Markdown com a URL da página e, para cada problema, o seletor, os valores medidos e a correção sugerida.
- O botão Scan again varre de novo depois que você corrigir algo.
Só entram regras de alta precisão: quando a medida não prova o problema, nada é apontado. Um falso positivo é tratado como bug. Texto dentro de ilustrações (contêineres com aria-hidden ou role="img") fica fora das regras de tipografia, espaçamento e alinhamento.
O que a aba Interface verifica
- Espaçamento fora da escala
- O Diagnóstico agrupa os gaps, paddings e margins da página e infere a escala dela: um degrau é um valor usado por 3 elementos diferentes ou mais, e a escala só conta como clara com até 12 degraus que expliquem 80% dos valores. Aponta um valor usado por até 2 elementos que fica a exatamente 1px de um degrau (13px ao lado de 12px), nunca valores na grade de 4px da página nem meios-degraus de 2px.
- Irmãos com espaçamento diferente
- Elementos do mesmo tipo numa linha ou coluna em que todos os gaps são iguais, menos um, diferente por 2px ou mais.
- Padding assimétrico
- Esquerda diferente da direita, ou topo diferente da base em componentes de uma linha, por 2px e 25% ou mais, com os dois lados a partir de 6px, em elementos com fundo ou borda e sem ícone na ponta (nem um ::before ou ::after desenhando um).
- Desalinhamento por pouco
- Uma borda esquerda a 1–3px de uma linha compartilhada por 3 ou mais elementos empilhados.
- Tipografia
- Escala inchada (10 ou mais tamanhos distintos); tamanho fora da escala (usado até 2 vezes, a 1px de um tamanho usado 5 ou mais); hierarquia invertida (um título maior que o título acima dele, como um h3 maior que o seu h2, comparando só títulos a até uma altura de tela um do outro); line-height fora da faixa (texto corrido de várias linhas abaixo de 1,2 ou acima de 2,0, títulos de fora; a partir de 20px, abaixo de 1,0 ou acima de 1,8); linhas com mais de 80 caracteres em parágrafos de 3 linhas ou mais (WCAG 1.4.8; o recomendado é até 75); texto abaixo de 12px; peso que a fonte carregada não tem (fontes declaradas com
@font-face). - Contraste
- Abaixo do AA do WCAG 2.x: 4,5:1, ou 3:1 para texto grande (24px, ou 18,66px em negrito). Cores transparentes são compostas sobre o fundo resolvido; texto sobre imagem ou gradiente fica de fora.
- Texto cortado e scroll horizontal
- Overflow escondido cortando 2px ou mais de texto sem reticências; página com scroll horizontal, com os elementos que causam o excesso.
- Alvos de clique
- Menores que 24 × 24px (WCAG 2.5.8). Links no meio de um texto, checkboxes e radios nativos e alvos bem espaçados ficam de fora, como a própria norma prevê.
O que a aba SEO verifica
- Metadados
<title>ausente, duplicado ou fora de 30–60 caracteres; meta description ausente ou fora de 70–160;langausente ou malformado; viewport ausente ou semwidth=device-width; canonical ausente, repetido ou em outro domínio;noindexpresente.- Títulos
- Nenhum h1 ou mais de um, níveis pulados e títulos vazios. A aba mostra a árvore de títulos inteira.
- Compartilhamento e dados estruturados
- Open Graph incompleto (og:title, og:description, og:image, og:url), twitter:card ausente, og:image com endereço relativo; JSON-LD inválido ou sem @type.
- Links
- Texto genérico, href vazio ou #, âncora para um id que não existe e nofollow interno. Contam como genéricos: “click here”, “here”, “read more”, “learn more”, “more”, “this link”, “more info”, “details”, “see more”, “clique aqui”, “aqui”, “leia mais”, “saiba mais”, “veja mais”, “ver mais” e “mais”.
- Imagens
- Sem alt; sem width e height (deslocamento de layout); imagem com loading="lazy" no topo da página, com metade dela ou mais na primeira tela e ao menos 100 × 100px (atrasa o LCP).
- Ids e idiomas
- Ids duplicados; hreflang inconsistente (sem referência à própria página, códigos inválidos, duplicados ou com URL relativa).
Ativar a licença
Depois de assinar em /pro, você recebe uma chave no formato RG-XXXX-XXXX-XXXX-XXXX. Na extensão, abra a Régua numa página qualquer, vá em Settings → Pro, cole a chave e clique em Activate. Ainda sem chave? Get a key leva para a assinatura. Sem licença, o botão Diagnóstico abre um painel que diz Diagnóstico is part of Régua Pro, com Activate license e Get Pro.
No npm, o Diagnóstico vem no pacote @mcardoso.dev/regua-pro. Ele substitui o @mcardoso.dev/regua com a mesma API: troque o import e ative do mesmo jeito, em Settings → Pro.
npm install @mcardoso.dev/regua-proimport { Regua } from "@mcardoso.dev/regua-pro"
export function DevTools() {
return process.env.NODE_ENV === "development" ? <Regua /> : null
}Fora do React, use @mcardoso.dev/regua-pro/element, com os mesmos defineReguaElement e mountRegua do pacote gratuito (veja Primeiros passos).
Licença e instalações
- Uma chave vale para até 3 instalações ao mesmo tempo, somando a extensão e o pacote. Em Settings → Pro, a linha de instalações mostra quantas estão em uso (como 2 of 3) e os 4 últimos caracteres desta instalação (This one …XXXX), os mesmos que aparecem em Minha conta. Manage abre a sua conta.
- A licença é verificada no próprio navegador, com uma assinatura Ed25519, e renovada sozinha a cada 3 dias quando há internet. A verificação funciona offline e também em páginas servidas por http simples. Sem conexão, a licença continua valendo até 14 dias depois do último dia pago.
- Deactivate, em Settings → Pro, apaga a chave daquela instalação. A vaga continua ocupada até você liberá-la em Minha conta; ativar de novo na mesma instalação reaproveita a vaga.
Privacidade
O Diagnóstico roda 100% no seu navegador: o conteúdo das páginas nunca sai do seu dispositivo. As únicas coisas enviadas para regua.ocardoso.com são a chave da licença e um identificador aleatório da instalação, gerado uma vez e guardado localmente. Nenhum nome, nenhuma URL. Os detalhes estão na política de privacidade.
Se a ativação falhar
- Chave inválida
- Confira se copiou a chave inteira, no formato RG-XXXX-XXXX-XXXX-XXXX. Uma letra trocada é detectada antes de qualquer envio.
- Assinatura inativa
- A assinatura dessa chave foi cancelada ou não foi paga. Assine de novo em /pro ou regularize em Minha conta.
- Limite de instalações
- A chave já está ativa em 3 instalações. Libere uma vaga em Minha conta e ative de novo.
- Instalação liberada
- Esta instalação foi desconectada da licença em Minha conta. Ative de novo com a sua chave, se houver vaga.