Checkbox
- Uso
- Desenvolvimento
- Customização
#
Visão geralO componente checkbox (caixa de seleção) é usado para permitir que o usuário selecione uma ou mais opções de um número limitado de escolhas. As caixas de seleção atuam de forma independente, ou seja, a escolha de uma opção não afeta as outras caixas e seus status.
#
AnatomiaO checkbox é composto por background e border. Também contém partes que são específicas de variação do componente ou estados de interação, como shadow no estado hover.
1. Border
2. Background
3. Icon (checked)
4. Shadow (hover)
5. Outline (focused)
#
ComportamentoO componente checkbox pode assumir três 3 variações:
- Unchecked: item desmarcado
- Checked: item marcado
- Mixed: quando, em um grupo de checkbox relacionados, alguns itens do grupo (mas não todos) foram marcados
#
TamanhosO componente possui dois tamanhos diferentes: Medium e Large. O tamanho medium é o tamanho padrão. O large pode ser usado em casos específicos, como em cards por exemplo.
Os componentes são formados por tokens, sendo estes propriedades de estilo que definem como será estruturado e estilizado. Os tokens que podem ser alterados pelas marcas, podem ser conferidos na seção de propriedades customizáveis.
#
Boas práticasO componente foi projetado para atender os requisitos das Diretrizes de Acessibilidade para Conteúdo Web (WCAG) 2.1. Também foram estruturadas padrões de usabilidade para auxiliar na utilização do componente e garantir uma boa experiência para os usuários. Por isso, é muito importante que, ao aplicar esse componente, o proprietário do conteúdo leve em consideração alguns critérios e práticas:
#
Uso- Ao utilizar label para acompanhar o checkbox, posicione a mesma ao lado direito da caixa de seleção;
- Ordene as opções de checkbox de forma lógica, como por exemplo em ordem alfabética, numeral ou com base nos itens mais escolhidos;
- É recomendável não utilizar mais do que 7 itens em uma lista de opções;
- Use textos curtos e, sempre que possível, mantenha a label de uma caixa de seleção em uma única linha;
Manter o texto em linha única facilita a correlação entre a label e o seletor.
Evite textos longos. O texto em duas linhas torna os espaços entre as opções irregulares.
- Prefira a utilização do componente em uma lista vertical ao invés de horizontal, pois permite uma leitura mais fácil para os usuários. O alinhamento horizontal dificulta correlacionar as labels às caixas correspondentes.
Alinhe os componentes verticalmente sempre que possível.
Ao inserir os componentes lado a lado, certifique-se de inserir um espaçamento adequado entre as opções.
#
Comportamento- Prefira não deixar nenhuma opção pré-selecionada, pois pode passar despercebida pelos usuários e ocasionar no envio de uma resposta errada;
- Se o checkbox estiver acompanhado de outro elemento, como label, é recomendado que a área clicável envolva o elemento também.
#
Interação- A ordem de foco deve acontecer em sequência lógica. Como por exemplo, quando não tem nenhuma opção selecionada, o foco deve mover-se para o primeiro item da lista. (WCAG 2.4.3: Focus Order)
- Com navegação via teclado, o checkbox em foco é marcado ou desmarcado através da tecla space
#
Acessibilidade tratada no componenteAlgumas diretrizes de acessibilidade já são tratadas no componente, internamente, e não podem ser alteradas pelo proprietário do conteúdo. São elas:
- O componente foi desenvolvido utilizando controles padrões HTML para permitir a identificação do mesmo na interface por tecnologias assistivas. (WCAG 4.1.2: Name, Role, Value)
- A área do foco precisar ter uma espessura de pelo menos 2 pixels CSS e o foco não pode ficar escondido por outros elementos da tela. (WCAG 2.4.12: Focus Appearance)
- O estado de foco deve ser sempre preservado, inclusive quando o componente estiver desabilitado. (WCAG 2.4.7: Focus Visible)
- A cor não deve ser o único meio para diferenciar o componente do seu estado marcado e desmarcado. (WGAG 1.4.1: Use of Color, 3.2.4: Consistent Identification)