Componentes
40-b. Tabela — EXTENSÃO F7.2
seed-componentes.md v1.43 · §40-bseção 56 de 9840-b-tabela-extensao-f7-2-dt9-dt12-rascunho-o-40-v0.md · MD5 b4ac82feTítulo completo no canon: Tabela — EXTENSÃO F7.2 · DT9–DT12 (rascunho; o §40 v0.43 segue estável no que não é tocado)
Contexto. O §40 fechou em 2026-08-06 com uma fronteira explícita no DT5: "multi-sort é lacuna do ARIA #283, fora da v1". A F7.2 reabre exatamente essa fronteira, por decisão do Rafael em 2026-08-15 ("entra agora"), porque o gabarito A2 exige agrupar por X e ordenar dentro por Y — que já é ordenação de dois níveis na prática. As decisões abaixo estendem o §40; nenhuma o contradiz.
| # | Decisão | Porquê | Descartado |
|---|---|---|---|
| DT9 | Ordenação multi-coluna com TETO DE TRÊS. Gesto duplo: Shift+clique e item "adicionar à ordenação" no menu do cabeçalho (CP30: ponteiro único não é o mesmo que teclado) |
TanStack expõe maxMultiSortColCount justamente porque o ilimitado é ingovernável; três é o que cabe num resumo legível |
Ilimitado · só Shift+clique (modificador não é caminho de ponteiro único) |
| DT10 | A ORDEM é dita por NÚMERO ao lado da seta (1, 2, 3), e o estado completo é anunciado em live region. aria-sort continua em cada th, e a lacuna fica declarada: ele diz a direção, não a posição (ARIA #283) |
Sem o número, a única pista da ordem é a posição do cabeçalho na tela — que muda com reorder de coluna (§51) e não existe para quem não vê | Ordem só pela posição visual · inventar aria-sort="ascending 2" (valor inválido) |
| DT11 | FONTE ÚNICA de ordenação: o cabeçalho e o painel de ordenação editam o MESMO estado | Fato medido no Fiori: "usar a ordenação do cabeçalho substitui TODAS as opções de ordenação do diálogo" — duas fontes de verdade, e o usuário perde a configuração sem aviso | Diálogo e cabeçalho independentes (o defeito medido) |
| DT12 | Numeração de linha (C22) é OPT-IN, POSICIONAL e nunca endereço. O cabeçalho da coluna existe e é oculto só visualmente (a célula permanece na matriz — célula aria-hidden quebra a tabela); o endereço estável é o identificador do registro. aria-rowindex/aria-rowcount NÃO entram: são de tabela paginada virtual, e usá-los para reposicionar linhas é uso errado documentado |
Medição do produto de referência: numeração a 3,32 de contraste (reprova) e endereço instável — ao ordenar, "linha 14" vira outra coisa, o que é enganoso em ambiente colaborativo. Nossa numeração usa text-muted (5,61/6,80) |
Numeração sempre ligada · numeração como referência compartilhada · aria-rowindex "para dar posição" (Roselli: em teste com usuários, o salto de numeração confundiu) |
Exceção bidimensional de reflow, declarada aqui (CP28): a tabela pode rolar nos dois eixos
dentro do wrapper role="region" focável e nomeado do DT1. Alternativa de leitura declarada:
a degradação por importância de coluna (LD3) mais o identificador estável em cada linha.
Também cita o §40: tela-documento, tela-shell, tela-tabela.