---
fonte: 01-canonicos/seed-componentes.md
versao_da_fonte: v1.67
secao: h49
titulo: "Histórico da seção §49 — Detalhe de registro — painel e modal (não é regra)"
status: historico
vigente_desde: null
superseded_by: null
tipo_de_fatia: historico
secao_mae: 49
quando_consultar: "Histórico da §49 — NÃO é regra; leia só se a pergunta for sobre o passado (quando e por que a decisão mudou)."
em_uma_frase: null
nao_cobre: null
conceitos: null
vocabulario: null
sequencia: 99 de 172
bytes_do_corpo: 1969
md5_do_corpo: 6feeb7ed38a4d769c57f789cfbe1a526
gerado_por: 06-validacao/geradores/gen-camada-ia.py
nota: fatia GERADA — o corpo abaixo é byte a byte o trecho do canônico; edite o canônico, nunca esta fatia. Canônico inteiro em https://ds.seed.eng.br/01-canonicos/seed-componentes.md
---
### Histórico da seção

> **Base (3 rodadas encadeadas + rodada zero, 2026-08-15).**
> **Rodada zero — leitura visual:** confirmada na §13.4 antes de qualquer spec. Regra da fase.
> **R1 canon:** **Carbon** dá a régua por VOLUME, não por gosto — modal quando um subconjunto
> pequeno é editável; se há campos suficientes para exigir rolagem, painel lateral ou página
> inteira; e o side panel existe para *manter o usuário em contexto com a página*. **Fiori** dá o
> object page (seções e subseções com navegação por âncora ou aba) e duas réguas operacionais que
> entraram inteiras: a paginação entre irmãos só aparece quando a lista de origem tem **ao menos
> dois itens**, e ao excluir o item corrente seleciona-se o anterior — se não sobra nada, fecha.
> Fiori também manda usar **o mesmo layout em exibição e edição**: o conteúdo não muda de lugar.
> **R2 mercado/stack:** Radix Dialog entrega os dois regimes (modal e não-modal) com controle fino
> de foco, o que barateia a decisão PD1 — é o mesmo primitivo. Nota de fronteira registrada: o
> Radix foi adquirido pela WorkOS e a cadência caiu em alguns componentes; o Base UI é hoje a
> camada de primitivos mais ativa, e o shadcn/ui é o consumo dominante. Não muda decisão aqui;
> muda o que vigiamos. **R3 normas / fora do circuito:** o cabeçalho fixo do C50 é risco de norma,
> não detalhe estético — a falha **F110** do WCAG 2.2 descreve exatamente o sticky que cobre o
> elemento focado, e o SC 2.4.11 é AA; o conserto canônico é `scroll-padding`. O hover do C53 é a
> armadilha maior: o Spectrum corrigiu este caso em novembro de 2025 trocando `visibility:hidden`
> por `opacity:0`, porque `visibility:hidden` e `display:none` **removem da árvore de
> acessibilidade** e o botão deixa de ser alcançável por Tab. O "Expandir" do C54 precisa de
> `aria-expanded` + `aria-controls` e de rótulo que nomeie o quê.

---

