Skip to content
Versão preliminar. Cores, componentes e layout ainda vão mudar: falta receber o padrão de interface do TJES (template-basico-vue) e o manual de identidade visual.

BaseAvatar ​

Mostra as iniciais de quem lançou, conferiu ou aprovou um item.

Uso ​

  • Passe o nome completo em name. O avatar mostra a primeira letra do primeiro e do último nome: "Maria da Silva Coelho" vira "MC". Um nome só mostra uma letra. Filho, Neto, Júnior e parecidos no fim são pulados: "Paulo Ramos Filho" vira "PR".
  • Use em históricos, aprovações e no cabeçalho, sempre com o nome ou o papel da pessoa por perto, como em "Lançada por Paulo Ramos".
  • O tom só ajuda a diferenciar pessoas lado a lado. Ele não indica perfil, cargo nem situação, e não é o Tone de status dos outros componentes.
  • Quando o nome completo já está escrito ao lado, use decorative para o leitor de tela não ler o nome duas vezes.

Tamanhos ​

TamanhoQuando
md · 32 pxHistóricos, aprovações, cabeçalho
sm · 24 pxDentro de uma linha de texto ou de um resumo

Com o nome ao lado ​

Rui Antunes

Estilo ​

PropriedadeToken
Fundo azul--tj-avatar-bg
Texto azul--tj-avatar-text
Fundo rosa--tj-avatar-alt-bg
Texto rosa--tj-avatar-alt-text
Contorno2 px de --tj-layer-01, separa avatares sobre fundo colorido
Texto--tj-text-xs (12 px) no md, 10 px no sm, peso --tj-weight-semibold
FormaCírculo de 32 px (md) ou 24 px (sm)

Os quatro tokens de cor trocam de valor no tema escuro.

Código ​

vue
<BaseAvatar name="Paulo Ramos" />
<BaseAvatar name="Marta Coelho" tone="pink" size="sm" />
<BaseAvatar name="Rui Antunes" decorative />
PropriedadeTipoPadrãoDescrição
namestring—Nome completo; gera as iniciais e é o nome acessível. Obrigatório
size'sm' | 'md''md'24 ou 32 px
tone'blue' | 'pink''blue'Cor de fundo, só para diferenciar pessoas
decorativebooleanfalseEsconde o avatar do leitor de tela quando o nome já está escrito ao lado

Sem eventos. O avatar não é clicável; para abrir o menu do usuário, coloque-o dentro de um botão com nome acessível. Dentro de um botão, ou ao lado do nome escrito (como no cabeçalho), use decorative: assim o nome do botão vem do texto dele ou do aria-label, e o leitor de tela não lê "Marta Coelho Marta Coelho".

vue
<button type="button" aria-label="Menu de Marta Coelho">
  <BaseAvatar name="Marta Coelho" decorative />
</button>

Acessibilidade ​

  • Segue o padrão de imagem da WAI-ARIA: role="img" com aria-label igual ao nome completo. O leitor de tela lê "Paulo Ramos, imagem", não "P R".
  • As iniciais ficam escondidas dos leitores de tela; quem lê é o nome completo.
  • Com decorative, o avatar recebe aria-hidden="true" e sai da leitura, porque o nome já está no texto.
  • O aria-label usa o nome sem espaços sobrando. Um nome vazio ou só com espaços não tem o que anunciar: o avatar fica escondido do leitor de tela, como no modo decorativo.
  • Não entra na ordem do Tab, porque não faz nada.
  • A cor não carrega significado. No modo de alto contraste do Windows, o círculo ganha borda para continuar visível.
  • Contraste do texto sobre o fundo: azul 15,1:1 e rosa 8,3:1 no tema claro; azul 9,1:1 e rosa 10,0:1 no tema escuro. Todos acima do mínimo de 4,5:1.
  • Testado com axe em todos os tons, tamanhos, no modo decorativo e com nome vazio.