---
fonte: 01-canonicos/seed-componentes.md
versao_da_fonte: v1.43
secao: 85
titulo: "TELA A17 — BUSCA / RESULTADOS · **`estável`** (2026-08-23, gate dele: *'fora isso está aprovado'*, com a correção HV1 aplicada antes da promoção) · tela `05-html-de-referencia/telas/tela-busca.html` v0.2 · instrumento `06-validacao/suites/suite-busca.mjs` (**15 PASS · 0 FAIL · 1 [n/a] declarado e provado em navegador real**)"
sequencia: 91 de 98
bytes_do_corpo: 4539
md5_do_corpo: 0b66274d7b55618054620d4f38593784
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
---
## 85. TELA A17 — BUSCA / RESULTADOS · **`estável`** (2026-08-23, gate dele: *"fora isso está aprovado"*, com a correção HV1 aplicada antes da promoção) · tela `05-html-de-referencia/telas/tela-busca.html` v0.2 · instrumento `06-validacao/suites/suite-busca.mjs` (**15 PASS · 0 FAIL · 1 [n/a] declarado e provado em navegador real**)

> **O que é:** a terceira tela da F7.6 — a TELA DE RESULTADOS que faltava do
> arquétipo (o §39/⌘K cobre o gatilho; o §4 cobre o campo; a superfície de
> resultados nunca existiu). Gabarito F7.1: canvas `surface-subtle`, a lista
> de resultados INTEIRA é peça (herda o arquétipo lista), os filtros são
> RÉGUA, <600px filtros viram gaveta e o realce do termo permanece.

### 85.1 Contratos (suíte por comportamento + CSSOM; nunca regex)

- **BU-01** — a query é ECOADA no título (aspas semânticas `<q>`) e a
  contagem de resultados é SEMPRE visível junto dele (D4-b do §4).
- **BU-02** — o realce do termo é **sublinhado + peso 800** — nunca só cor
  (gabarito F7.1; confirmado na leitura do produto de referência); o fundo
  suave `brand-subtle` é reforço, não portador. Medido no pixel: `underline`
  + `800` no navegador real.
- **BU-03** — resultado = UM LINK com ícone de tipo + título realçado +
  contexto ("Ordem de serviço · em Obras › …") + idade relativa em mono;
  lista semântica `<ol>`.
- **BU-04/05** — filtros por DIMENSÃO com contagem de ativos (TD1); chips
  aplicados em linha própria e o × do chip **remove o filtro E desmarca a
  origem, refaz a contagem e volta à página 1** (TD2/TD3/PG4).
- **BU-06** — zero-resultado com a microcopy D9 do contexto ERP (query +
  escopo ecoados) e as DUAS saídas: [Limpar busca] [Buscar em todo o sistema]
  (§25 Z1).
- **BU-07** — o espelho FALADO é nó separado (`role=status aria-atomic`,
  `.vh`) com debounce ~300ms — o visível muda na hora (D4-b); o debounce é
  MEDIDO por espera real na suíte.
- **BU-08** — filtro é input RESTRITO: zero texto livre por dimensão (TD5).
- **BU-09/10** — <600px os filtros colapsam em GAVETA sob disclosure
  (`aria-expanded` espelhado); o colapso é render — provado em navegador
  real (régua `display:none`, gatilho visível, clique abre, zero overflow).
- **BU-11** — paginação `<nav>` nomeada com `aria-current` (§37).
- **BU-12** — **HV1 (§71) na tela**: hover e pressionado DECLARADOS para
  paginação, filtros, botões e resultados — ver 85.2.

### 85.2 O gate pegou a HV1 de novo — e o conserto alcançou as TRÊS telas

No gate desta tela o Rafael perguntou, sobre o botão da página 2: *"pelo que
definimos era pra ter um efeito sobre o botao?"* — **tinha**: é a HV1-a
(§71), nascida de gate DELE em 2026-08-19, e as três telas da F7.6 nasceram
violando (paginação/filtros sem hover; NENHUM controle com pressionado
distinto). Conserto na mesma janela, retroativo às três:
**hover** de controle neutro = fundo desce um degrau (`surface-sunken`);
hover de controle de fundo de marca = **véu de 8%**; **pressionado = véu de
12%** (monotônico press > hover — o padrão eBay/M3 citado no §71.2); véu por
`box-shadow inset` (funciona sobre qualquer fundo, nos dois temas); hover só
sob `@media (hover: hover)` (§71.3 — toque não tem sobrevoo) e o `:active`
FORA da media (toque também pressiona). HV1-c: fundos novos são tokens já
medidos; véus escurecem fundo sob tinta clara (contraste sobe) e mantêm
≥4,5 sob a tinta escura do primário no escuro.
⚠ **Defeito de instrumento no caminho (49º da série):** o check CSSOM das
suítes reprovou as três telas JÁ CORRETAS — em CSSOM moderno, style rule
também tem `.cssRules` (CSS Nesting), vazia mas truthy, e o flatMap ingênuo
a substituía por LISTA VAZIA, engolindo as regras `:active` de topo. *Régua
nova que reprova em bloco mede outra coisa* — reincidência da lição do §75.
**O juiz do PIXEL do hover segue sendo a `guarda-resposta-ponteiro`**,
pendente de ambiente nesta máquina (AU-P1); a suíte confere a DECLARAÇÃO.

### 85.3 Fronteiras (produto)

Relevância/ranking, índice de busca, fuzzy, conectores externos (as abas de
fonte do produto de referência), "Pergunte à IA" (slot do chat, F6) e a
**virtualização de lista longa** — regra AUSENTE no acervo, registrada como
pendência **BU-P1** (a tela de resultados é o caso canônico de lista longa).
Dados da demo 100% fictícios, sem nome de pessoa (LGPD).

---

