---
fonte: 01-canonicos/seed-componentes.md
versao_da_fonte: v1.67
secao: h39
titulo: "Histórico da seção §39 — Command Palette ⌘K (não é regra)"
status: historico
vigente_desde: null
superseded_by: null
tipo_de_fatia: historico
secao_mae: 39
quando_consultar: "Histórico da §39 — 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: 80 de 172
bytes_do_corpo: 985
md5_do_corpo: c451b50be9ed310bade33821d513788e
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, 2026-08-06):** R1 — precedentes Linear/Vercel/GitHub/Raycast (techinterview: registry por id estável; <100ms; guarda do atalho em inputs). R2 — **cmdk** (a base do shadcn Command — a stack do Lovable): combobox correto out-of-the-box; **CommandDialog = cmdk dentro de dialog real** (trap/Esc/retorno são do dialog, não do cmdk); Command.Empty como FRASE; virtualizar só em milhares de itens; distinção shadcn: palette=Command+Dialog · valor em form=combobox · ações de linha=menu (reforça MN1). R3 — heranças normativas integrais: **combobox ARIA 1.2 do §11** (input mantém o foco; `aria-activedescendant` move a seleção virtual; `aria-expanded`/`aria-controls`) + **modal §30** (showModal, trap nativo, foco devolvido) + **busca §4** (o atalho Ctrl/⌘K JÁ reservado e treinado desde o v0.8 — a memória muscular migra sem custo, exatamente como o §4.11 previu) + live region nomeada (1.13-b).

---

