Pular para o conteúdo
// visualizar em
salvo em todas as páginas

Tooltip

Dica (tooltip) — um rótulo curto que aparece quando a pessoa passa o mouse ou dá foco num controle. Use para dar nome a botões de ícone e mostrar atalhos, nunca para informação que a pessoa precisa.

Feito com Base UIPadrão WAI-ARIA TooltipComponente clienteCódigo ↗
minimal · light · #3fa34d
side
align

Instalação

Configure o Camaleo uma vez (Instalação) e importe o que precisar. Ele renderiza no cliente.

import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from "@camaleo/react";

Anatomia

Um gatilho e um popup com seta. O popup é renderizado num portal, então um elemento pai com overflow: hidden não corta ele.

arrowpopupBaixar fatura
[data-slot="tooltip-popup"][data-slot="tooltip-arrow"]conteúdo (children)

Exemplos

Cada exemplo é um arquivo real que você pode copiar. Todos usam o estilo, o modo e a cor escolhidos na barra acima. O leitor de tela não lê o tooltip, então num botão de ícone o aria-label precisa dizer exatamente o que o tooltip diz.

minimal · light · #3fa34d

Mesmo texto do rótulo

O tooltip mostra, para quem enxerga, o nome que o leitor de tela fala. Escreva uma vez e use no aria-label e no tooltip.

Com atalho

Coloque um Kbd para ensinar o atalho e aria-keyshortcuts no gatilho, para quem usa leitor de tela aprender também.

Lados

Aponte o tooltip para onde a ação vai: para cima em "Mover para cima", para a direita em "Próxima". Se não couber, ele vira para o outro lado.

Espera compartilhada na barra

Passe o mouse num botão e deslize para o próximo. Um TooltipProvider em volta do grupo só espera no primeiro tooltip; os outros abrem na hora.

Copiar e confirmar

Clique. O tooltip muda para "Copiado" para quem vê, e uma mensagem de status escondida diz "Link copiado" para o leitor de tela.

Dê um título antes de publicar

Em botão desativado

Botão desativado não recebe hover nem foco, então o tooltip nunca abre. Use focusableWhenDisabled e ligue o motivo com aria-describedby.

Nome cortado por inteiro

Mostre o nome completo do arquivo quando ele não couber. Deixe o nome inteiro no texto do link, para o leitor de tela ler tudo.

Em contexto

O tooltip dá nome aos botões que só têm ícone. São pedaços inteiros de interface para copiar, no estilo que você escolheu.

Notas da versão

Barra de formataçãoCard · ButtonGroup · Tooltip · Kbd
Menu lateral de íconesIconButton · Tooltip
index.ts
export const config = {
  theme: "auto",
  brand: "#3fa34d"
};
Ações do editor de códigoCard · ButtonGroup · Tooltip

Boas práticas

FaçaPoucas palavras, iguais ao rótulo.

"Salvar alterações" se lê de relance e é exatamente o que o leitor de tela fala.

EviteLinks ou botões dentro do tooltip.

Ele fecha assim que o mouse sai, e quem usa teclado não consegue chegar lá. Use um popover.

FaçaMostre o atalho.

A pessoa aprende na hora em que usa a ação, sem abrir a ajuda.

EviteRegras só no tooltip.

No celular não existe hover, e o leitor de tela não lê o tooltip. Coloque as regras da senha na descrição do campo.

Props

PropriedadeTipoPadrãoDescrição
sideSide"top"De que lado do gatilho o tooltip aparece. Se não couber, ele vira para o lado oposto.
alignAlign"center"Alinhamento do tooltip ao longo desse lado.

O TooltipProvider recebe delay (ms antes de abrir o primeiro tooltip, padrão 600) e closeDelay (ms antes de fechar). O TooltipTrigger aceita os mesmos dois para um tooltip só, e o Tooltip aceita disabled, open e onOpenChange.

Styling hooks

Mude o visual sem copiar o componente: use os atributos ou defina os tokens num elemento pai, num estilo ou no próprio popup.

Atributos

data-sidetop · bottom · left · right
data-alignstart · center · end

Tokens que ele lê

Cor

--cml-fg--cml-fg-secondary--cml-focus-ring--cml-surface--cml-tooltip-bg--cml-tooltip-fg

Forma e tamanho

--cml-border-width--cml-radius-control--cml-toolbar-btn-size

Tipografia e movimento

--cml-duration-fast--cml-ease-standard--cml-font-body--cml-font-control--cml-font-weight-control--cml-motion-scale

Só deste componente

--cml-corner-shape--cml-item-hover

Acessibilidade

TabAo focar o gatilho, o tooltip abre depois da espera.
EscapeFecha o tooltip. O foco continua no gatilho.

Relacionados

Esta página foi útil? · Editar esta página no GitHub