Ir para o conteúdo principal
WBC - GovBR-DS
Copiar página como Markdown para IA

Contrato da plataforma, APG e WCAG

Este documento registra o contrato de implementação. A referência normativa é o HTML Standard, complementada pelos padrões APG quando HTML não oferece o widget completo. ARIA descreve comportamento existente; não substitui teclado, foco ou estado.

Mapeamento

FamíliaReferência preferidaTeclado e foco essenciais
botão, magic buttonbuttonEnter e Espaço ativam; foco visível
link, breadcrumb, skip link, paginaçãoa, nav, listasTab; Enter segue o link; página atual com aria-current
input, textarea, uploadinput, textareacomportamento nativo, label associado e erro descrito
checkbox e switchcheckbox / APG switchEspaço alterna; checked ou aria-checked sincronizado
radioradio groupsetas mudam opção; um único item na ordem de Tab
selectselect, combobox/listboxsetas, Home/End e Escape conforme o modo
sliderrange / APG slidersetas, Home, End, Page Up e Page Down
collapsedetails/summaryEnter e Espaço alternam; evento toggle
modaldialogfoco inicial, contenção, Escape e retorno ao acionador
tooltipAPG tooltipabre por foco/hover, fecha com Escape e não recebe foco
tabsAPG tabsroving tabindex, setas, Home/End e painel associado
menuAPG menusetas, Home/End, Enter/Espaço e Escape
carouselAPG carouselpausa controlável, alternativa a arrastar e anúncios moderados
tabletabela nativa; grid apenas se editávelnavegação nativa ou teclado completo do grid
step e wizardlista/roving tabindexestado atual determinável e foco previsível

IDs usados por aria-labelledby, aria-describedby, aria-errormessage e aria-controls precisam existir no mesmo escopo de árvore. Uma referência textual não atravessa automaticamente um Shadow Root. Quando a relação cruza esse limite, o componente deve manter a relação dentro do próprio Shadow DOM ou usar referências de elementos do ElementInternals quando disponíveis.

SSR e hydration

Não leia window, document, medidas de layout ou preferências de mídia durante a renderização no servidor. Essas APIs pertencem aos callbacks executados no cliente e devem ter guarda de ambiente. Timers e observers precisam ser removidos em disconnectedCallback.

Quando o ID participa do HTML hidratado, forneça custom-id estável a partir dos dados da aplicação. O gerador automático atual garante unicidade no cliente, mas usa tempo e aleatoriedade e, portanto, não é uma fonte determinística entre servidor e cliente. Essa é uma limitação conhecida da série 2.x; fixtures de SSR devem sempre fornecer IDs explícitos até a migração para uma estratégia determinística compatível com múltiplas requisições.