Tema Cor Largura Raio (decisão de gate)

banco-escolha.html · bancada do §60 · preview v0.5 — catálogo de ESTADOS da escolha segmentada e múltipla (SG1–SG14 e SG6-b), do seed-componentes.md. Bancada, não tela (CP31). Dado sintético: nenhum nome, documento ou valor de contrato real. Os números de geometria aqui não foram escolhidos — vêm da medição dos dois consumidores em produção na auditoria SG-P1.

Escolha segmentada e múltipla

Três problemas diferentes que a mesma forma visual serve, e a semântica segue o problema, não a aparência. A régua em uma frase: pergunte o que muda. Muda a forma de ver o mesmo dado → segmentado. Muda quanto do mesmo dado aparece → interruptor. Muda o dado → abas (§34), e aí não é este componente.

Segmentado (SG1) — os estados

role="radiogroup" + role="radio" + aria-checked, com um único tab stop e setas movendo dentro. Tab entra e sai do grupo com um pressionamento; ←/→/↑/↓ trocam a escolha; Home e End vão às pontas — e são eles que impedem a fileira longa de custar N setas.

Duas opções — o mínimo
Duas opções mutuamente exclusivas é o piso do SG1. Abaixo disso não é escolha: é interruptor, e vale o SG2.
Três opções, o caso comum
O nome do grupo diz o que a escolha FAZ e que ela aplica na hora (SG4). Sem isso fica de pé o alerta do Primer: que radiogroup sugere “vale só ao salvar”.
Com contagem por segmento (SG7)
A contagem conta o CONJUNTO e NÃO muda com o filtro aplicado — herda o CM11: número que acompanha o próprio recorte deixa de ser referência. Clique nos segmentos: os números não se mexem.
Com ícone e rótulo visível (SG8)
O ícone é `aria-hidden`; o nome acessível é SÓ o rótulo. Concatenar glifo e texto foi o defeito real achado no §48 (“mão levantada Mover”).
Cinco opções — o caso largo
O teto do SG5 não é de contagem, é de APERTO MEDIDO: cabe enquanto a fileira não vazar, não cortar e não reduzir o alvo abaixo de 44px. Encolha a janela até 390px — ela quebra em linhas e o alvo se mantém.
Com opção indisponível
Opção sem pré-requisito de DADO some (PN4: nunca oferecida-e-vazia). Aqui ela aparece desabilitada para o catálogo mostrar o estado — numa tela real, o §48 a esconde e diz por quê.

Raio — DECIDIDO em 2026-08-16: reto

A auditoria SG-P1 mediu os dois consumidores em produção e achou duas geometrias para a mesma família. A altura já convergiu em 44px (o §53 media 32px e subiu na SG-P7). O raio não: o painel usa pílula, a lista usa reto. Nenhum dos dois é errado isoladamente; os dois juntos são a prova de que não havia canon. Os dois lados abaixo são o mesmo controle, com o mesmo conteúdo — a única diferença é o raio. O gate escolheu o lado B (reto), e ele é o canon — o lado A fica aqui porque decisão sem a evidência ao lado vira folclore em três meses.

A terceira fileira de cada lado é estreita de propósito: o SG5 revisto permite o segmentado quebrar em linhas, e é na quebra que os dois raios se comportam diferente — o arredondamento total do grupo tem de envolver duas linhas, o reto não. Está aqui para ser olhado, não para ser afirmado.

A · pílula — SUPERSEDED (era o §48)

--seg-raio-grupo: 9999px · --seg-raio-item: 9999px

B · reto — CANON desde 2026-08-16

--seg-raio-grupo: 8px · --seg-raio-item: 6px

Interruptor de recorte (SG2)

Um <button> com aria-pressed, não um segmentado de duas opções. Ligar e desligar é um controle, não uma escolha entre dois — e é por isso que "Só comentários" (§56) nunca precisou virar radiogroup. Dois modos irmãos, em que nenhum é o "desligado" do outro, são caso do SG1, não deste.

Só comentários É o controle do §56, e foi o ÚNICO dos seis consumidores auditados que já estava conforme quando o §60 nasceu.
Mostrar concluídas Recorte binário do mesmo conjunto: liga e desliga QUANTO do dado aparece. Não muda a forma de ver, então não é segmentado.

Múltipla escolha com chips (SG9–SG14)

A lista não fecha ao escolher (SG14): quem marca vários teria de reabrir a cada item. Cada escolhido vira um chip removível com nome que diz o que remove; acima do teto declarado os excedentes colapsam em "+N"; remover anuncia o que saiu e quantos restam; e o "Limpar tudo" só existe a partir de dois chips — com um só, o próprio X já é o limpar.

Filtrar por frente de trabalho

Cor do status — escolhida por quem edita o status (QD-P18)

O status (Pendente · Em andamento · Ganho · Perdido, §57 QD23) tem a cor como campo editável por quem tem permissão de criar ou editar status — a permissão é do produto; o DS dá a forma. A escolha é fechada na paleta do DS: onze cores, sem campo de hex. Cada status nasce com a sugestão do DS já marcada, e a pessoa troca. Só entra cor cujo chip passa 4,5 de contraste no texto nos dois temas (tabela abaixo, lida dos tokens a cada geração). O controle é um grupo de rádios nativos: um tab stop, as setas movem, o nome acessível de cada opção é o nome da cor, e o valor atual leva círculo preenchido e borda de 2 px além da cor.

Cor do status “Pendente”

Sugestão do DS: Cinza — já vem marcada; quem tem permissão de editar o status troca por qualquer outra da lista.

Cor do status “Em andamento”

Sugestão do DS: Azul — já vem marcada; quem tem permissão de editar o status troca por qualquer outra da lista.

Cor do status “Ganho”

Sugestão do DS: Verde — já vem marcada; quem tem permissão de editar o status troca por qualquer outra da lista.

Cor do status “Perdido”

Sugestão do DS: Vermelho — já vem marcada; quem tem permissão de editar o status troca por qualquer outra da lista.

Contraste do texto sobre o fundo do chip, por cor e por tema — a mesma conta que a geração faz e que a interrompe se alguma cor cair abaixo do piso:

CorClasse do chipTexto/fundo, claroTexto/fundo, escuroPiso 4,50
Verde.st-ok5,899,35entra
Azul.st-info5,799,38entra
Cinza.st-neutro6,429,92entra
Âmbar.st-alerta9,059,27entra
Vermelho.st-erro6,589,47entra
Turquesa.st-e15,115,11entra
Dourado.st-e25,305,30entra
Ciano.st-e35,635,63entra
Verde-floresta.st-e49,379,37entra
Petróleo.st-e56,436,43entra
Marrom.st-e66,686,68entra

Os contratos, e onde cada um se prova

#ContratoOnde se prova
SG1Segmentado é radiogroup com um único tab stop e setas dentroTodos os segmentados desta página · e os quatro grupos do §48
SG2Recorte binário é um <button> com aria-pressedSeção “Interruptor de recorte” · e o §56 em tela-detalhe.html
SG3Nunca tablist sem painelPor AUSÊNCIA: zero tablist no acervo, medido a cada rodada
SG4O nome do grupo diz o que a escolha faz E que ela aplica na horaaria-label de todos os grupos desta página
SG5O teto é de APERTO MEDIDO, não de contagem“Cinco opções” · medido em 390/768/1180/1440px
SG6O selecionado se distingue por diferença de VALOR medida ≥ 3,00Prova “Escala de cinza” na barra de cima · medido em 4,60 e 4,57
SG6-bA separação sobrevive a forced-colors: active, com cor de sistemaAlto contraste do sistema · medido: 1,00 antes, 19,04 depois
SG7Contagem por segmento conta o CONJUNTO — não muda com o filtro“Com contagem por segmento” — esta bancada é a única instância
SG8Segmento com ícone e rótulo usa SÓ o rótulo no nome acessível“Com ícone e rótulo visível” · o ícone é aria-hidden
SG9Multi-select produz chips removíveis com nome que diz o que removeSeção “Múltipla escolha” · aria-label de cada X
SG10O chip é o do §22, com o X interno em alvo de 44px.chip .x — e o dono é position:relative, senão o alvo ancora fora
SG11Acima de um teto declarado, os chips colapsam em “+N”Marque mais de 3 frentes · teto em fonte única no gerador
SG12Remover um chip anuncia o que saiu E quantos restamRemova um chip com leitor de tela ligado
SG13“Limpar tudo” existe a partir de dois chipsDesça até um chip: o “Limpar” some
SG14Multi-select NÃO fecha a lista ao escolherAbra a lista e marque vários — esta bancada é a única instância