---
fonte: 01-canonicos/seed-componentes.md
versao_da_fonte: v1.67
secao: h40
titulo: "Histórico da seção §40 — Tabela (não é regra)"
status: historico
vigente_desde: null
superseded_by: null
tipo_de_fatia: historico
secao_mae: 40
quando_consultar: "Histórico da §40 — 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: 82 de 172
bytes_do_corpo: 983
md5_do_corpo: 81060851b4ed22e4d83f17feffd91bef
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 — Carbon data table (alturas de linha pareadas com a toolbar; texto à esquerda incl. headers, numérico variável à direita, identificadores discretos à esquerda; sort por caret; inline actions por overflow; quando NÃO usar: substituto de planilha) + NN/g herdado. R2 — **TanStack Table** (a base da stack Lovable/shadcn) + EUI. R3 — **corpus Adrian Roselli** ("Don't Turn a Table into an ARIA Grid Just for a Clickable Row" 2023; Sortable Table Columns 2021–24: botão no th + `aria-sort` sem role extra, gap de anúncio de NVDA → live region OPCIONAL desligada; A Responsive Accessible Table: wrapper `role=region`+`tabindex=0` nomeado; multi-sort = lacuna do ARIA #283) + **Fiori** (responsive table = nível de LINHA, ≤200 itens; grid table = desktop cell-level >1000, NÃO-responsiva — a nossa §40 segue a filosofia responsive; importância de coluna/pop-in ficam para o §43/6D).

---

