Progress Bar
- Uso
- Desenvolvimento
- Customização
#
Visão geralO componente progress bar
comunica de forma visual o status sobre o carregamento até a conclusão de uma operação do sistema,
seja download, upload ou processamento.
Componentes relacionados:
#
Quando usarUtilize-o para informar o carregamento de uma operação com duração maior do que 10 segundos.
Considere utilizar o componente
loading
caso o tempo necessário seja até 10 segundos.
#
AnatomiaEstruturalmente, o progress bar
é composto por: uma bar indicator, uma tray e um infor bar, conforme imagem abaixo:
- Bar indicator: é a forma que preenche a barra conforme o carregamento ocorre, de maneira determinada ou indeterminada;
- Tray: é a base que define a largura do componente, onde a bar indicator poderá percorrer;
- Info bar: é o texto de apoio posicionado na parte inferior esquerda da barra, que auxilia os usuários a entenderem do que se trata o carregamento, junto com a quantidade percentual posicionada na parte inferior direita.
O estado de error modifica a infor bar, passando a exibir um ícone de exclamação seguido por uma mensagem de erro. Saiba mais em Estados
#
Variações#
Modo SinglePensando na modularidade do Design System, o progress bar
possui o modo single, no qual compõe apenas os elementos da barra de progresso em sua forma mínima,
conforme imagem abaixo:
- Bar indicator: é a forma que preenche a barra conforme o carregamento ocorre, de maneira determinada ou indeterminada;
- Tray: é a base que define a largura do componente, onde a bar indicator poderá percorrer.
#
TamanhosO componente progress bar
possui duas variações de tamanho, sendo:
- Large (Grande):
0.5rem (8px)
; - Medium (Médio):
0.25rem (4px)
.
Por padrão é utilizado o tamanho medium.
#
EstadosO componente possui também os três seguintes estados:
- Normal: o preenchimento da barra em cor azul, indicando atividade no carregamento;
- Success: o preenchimento completo da barra em cor verde, indicando conclusão do carregamento;
- Error: o preenchimento da barra e conteúdo da info bar em vermelho, indicando falha no carregamento.
No modo single, o componente continua respeitando a composição básica, ou seja, sem a info bar.
#
ComportamentoO componente progress bar
possui dois tipos de comportamentos, sendo:
- Determinado: para quando há um carregamento mensurável, como por exemplo, de 0% a 100%.
- Indeterminado: para quando não há um carregamento mensurável, como por exemplo, longos processamentos que gastem um tempo considerável ou de tempo desconhecido.
#
Boas práticasForam estruturados os padrões de usabilidade para auxiliar na utilização do componente e garantir uma boa experiência aos usuários. Por isso, é muito importante que ao utilizar este componente, as pessoas que o projetarem devem levar em consideração os seguintes critérios:
#
Fazer- Sempre dê algum tipo de feedback imediato;
- Ao exibir o carregamento de uma sequência de processos, indique o progresso geral em vez do progresso de cada atividade;
- Mantenha os rótulos entre uma a duas palavras;
- Use o texto auxiliar com uma barra de progresso se o processo for complexo ou tiver um longo tempo de espera. Isso permite que os usuários saibam quais sub processos estão ocorrendo.
#
Não fazer- Não utilizar indicadores de progresso estáticos (como texto apenas informando que o processo está sendo realizado).
#
Acessibilidade tratada no componenteO componente progress bar
foi projetado para atender os requisitos das Diretrizes de Acessibilidade para Conteúdo Web (WCAG) 2.1.
Algumas diretrizes de acessibilidade já são tratadas no componente internamente e não devem ser alteradas por quem utilizar. São elas:
- Cores não devem ser utilizadas como única maneira de transmitir conteúdo ou distinguir elementos visuais (1.4.1: Use of color (A));
- Textos devem ter uma relação de contraste entre primeiro e segundo plano de ao menos 4.5-1 (1.4.3: Contrast (Minimum) (AA));
- Textos devem ter uma relação de contraste entre primeiro e segundo plano de ao menos 7:1 (1.4.6: Contrast (Enhanced) (AAA));
- Sempre que uma mensagem de erro for exibida, ela deve identificar claramente qual é o elemento que gerou o erro de forma visual e audível (3.3.1: Error Identification (A)):
- Exemplo: mudança de cor no elemento + ícone de alerta + uma mensagem em texto.
Nota: verificar junto com critério 3.3.3: Error Suggestion (AA);
- Exemplo: mudança de cor no elemento + ícone de alerta + uma mensagem em texto.
- Qualquer tipo de mensagem que é resultado de uma ação ou que informa o andamento de um processo e que seja relevante para as pessoas, deve ser transmitida sem que ocorra uma mudança de contexto (foco) na tela (4.1.3: Status Messages (AA)).
Observações:
Leitor de tela: da mesma forma que as pessoas têm o feedback visual de que algo está carregando ao ver o progress bar, as pessoas usuárias de leitores de tel devem estar ciente de que algo está acontecendo em segundo plano.
Barra de informação: deve ser exibida para tecnologias assistivas. As alterações são fornecidas programaticamente como atualizações de status.