Descrição da imagem: Cartaz com a indicação «Ficha informativa sobre sobreposições», emoldurado por fita de sinalização, com avisos sobre as ferramentas de sobreposição de acessibilidade.
Ficha informativa sobre a sobreposição, verificada: as nossas provas técnicas para cada afirmação
Ficha informativa sobre a sobreposição, verificada: as nossas provas técnicas para cada afirmação
A comunidade de acessibilidade vem alertando há anos sobre as ferramentas de sobreposição. Interceptámos o tráfego de produção de quatro sobreposições e cruzámos as nossas conclusões com cada uma das alegações apresentadas na Ficha Informativa sobre Sobreposições, fornecendo assim as provas técnicas subjacentes a cada aviso.
O que é a ficha informativa sobre sobreposições?
A «Overlay Fact Sheet» é uma declaração impulsionada pela comunidade, assinada por mais de 600 profissionais da área da acessibilidade — incluindo colaboradores e editores das especificações WCAG, ARIA e HTML, bem como especialistas internos em acessibilidade de empresas como a Google, a Microsoft, a Apple, a Shopify, o eBay e a Target. A declaração apresenta várias afirmações específicas sobre as limitações e os riscos das ferramentas de sobreposição de acessibilidade.
A nossa investigação – 924 pedidos HTTP interceptados com 579 corpos de resposta completos em 14 sites de comércio eletrónico ativos, além de instantâneos DOM guardados com modificações de sobreposição incorporadas – fornece a primeira base de evidências técnicas em grande escala para verificar cada alegação face a dados reais de produção. Eis o que descobrimos.
Afirmação 1: «As sobreposições não corrigem o código subjacente»
A ficha informativa sobre sobreposições indica que estas permitem «modificações temporárias na interface do utilizador», em vez de alterarem permanentemente o código-fonte.
Todas as sobreposições que analisámos funcionam exclusivamente na camada DOM – modificando os elementos após o carregamento da página, sem alterar o código HTML subjacente. Confirmámos isto através de quatro mecanismos distintos:
Sobreposição A carrega ficheiros de correção de JavaScript por site, contendo 1 023 defineFix regras que utilizam setAttribute, attr(), e hideFromAT() para modificar elementos DOM em tempo de execução. Se o script de sobreposição for removido ou não conseguir carregar, todas as correções desaparecem instantaneamente – o código subjacente permanece inalterado.
O Overlay B descarrega um ficheiro JSON de correção com 1,17 MB e aplica as correções através de um mecanismo de correção independente. As correções estão associadas a URLs de imagens específicas – quando a sobreposição é removida, todas as 5.068 entradas de texto alternativo desaparecem. As imagens voltam a ficar sem qualquer texto alternativo.
Sobreposição C inclui um pacote monolítico de 794 KB que modifica o DOM através de 227 setAttribute chamadas, 82 alterações de função e 128 aria-label injeções. Nenhuma delas altera o HTML do lado do servidor.
Sobreposição D aplica nomes acessíveis baseados em configuração através de um motor de 649 KB com 216 setAttribute chamadas. As correções só permanecem enquanto o motor estiver a funcionar.
A ferramenta de monitorização, por outro lado, não corrige nada – limita-se a comunicar os problemas a um painel de controlo dos programadores. São os programadores que os corrigem no código-fonte, onde as correções são permanentes, testadas e implementadas através dos fluxos normais de CI/CD.
O que acontece quando a CDN de sobreposição fica fora de serviço?
A ficha informativa sugere que as correções da sobreposição são temporárias. Podemos quantificar exatamente o quão temporárias são: se a CDN que fornece o JavaScript da sobreposição ficar offline, todas as correções desaparecem instantaneamente. Os nossos dados mostram a cadeia de dependências:
Sobreposição A: Por local active.js (até 238 KB) é carregado a partir de um único CDN. Se esse CDN ficar inacessível durante apenas 30 segundos, todas as páginas carregadas nesse intervalo não recebem nenhuma correção de acessibilidade. As 1 023 regras de correção, as 35 armadilhas de foco nos modais e todas as etiquetas ARIA inseridas simplesmente desaparecem.
Overlay B: O mecanismo de correção depende de três domínios externos: uma CDN para scripts, uma API para ajustes e configurações e uma CDN separada para a API de texto alternativo da IA. Se algum destes três domínios ficar indisponível, diferentes partes do pipeline de correção deixam de funcionar – o que pode deixar o DOM num estado parcialmente alterado, em que algumas correções foram aplicadas, mas outras não.
Sobreposição C: Toda a sobreposição consiste num único pacote de 794 KB proveniente de um único domínio. Uma falha na CDN = desaparecimento total do widget. No entanto, como o MutationObserver da sobreposição estava a monitorizar o DOM e a modificar elementos, um carregamento parcial da página — em que o observador fosse inicializado, mas a lógica de correção não fosse concluída — poderia deixar o DOM num estado inconsistente.
A ferramenta de monitorização não depende de nenhuma CDN para a acessibilidade. Se a sua CDN ficar inativa, o único efeito é que as métricas de visitas à página deixam de ser registadas. A acessibilidade do site não é afetada, uma vez que todas as correções estão no código-fonte – não dependem do carregamento de nenhum script de terceiros.
Afirmação 2: «Não é possível alcançar a conformidade total com uma sobreposição»
A ficha informativa afirma que «a incapacidade comprovada destes produtos para resolver todos os possíveis problemas significa que não conseguem garantir a conformidade de um sítio Web».
Mapeámos 776 das regras de correção da Overlay A para critérios de sucesso específicos das WCAG. 26% (203 regras) introduzem novas violações das WCAG ao tentar corrigir as já existentes – incluindo hideFromAT() chamadas que geram cinco falhas de Nível A simultâneas por instância.
Incumprimentos específicos que documentámos:
WCAG 1.1.1 (Conteúdo não textual): O Overlay B gera texto alternativo gerado por IA que não cumpre o critério de «finalidade equivalente» – um logótipo da empresa descrito como «um símbolo azul e amarelo», um ícone de navegação descrito como «um simples retângulo preto». 241 entradas tinham menos de 15 caracteres. 323 excediam os 125 caracteres.
WCAG 2.1.1 (Teclado): A sobreposição A oculta elementos interativos da árvore de acessibilidade, tornando-os inacessíveis através do teclado. Botões de pagamento, controlos do carrinho e links de resultados de pesquisa ocultados por hideFromAT() não pode receber o foco nem ser controlado através do teclado.
WCAG 4.1.2 (Nome, Função, Valor): A sobreposição A insere aria-label="true" em 7 elementos distribuídos por 3 páginas – um erro de código em que o nome acessível é a sequência sem sentido «true». A sobreposição A também se aplica role="presentation" para 115 elementos, retirando o significado semântico das tabelas, dos títulos e dos pontos de referência.
WCAG 1.3.1 (Informação e relações): Quando role="presentation" Quando o atributo `table-readable` é aplicado a uma tabela de dados, os leitores de ecrã deixam de poder navegar por linhas e colunas. A estrutura da tabela desaparece da árvore de acessibilidade.
Mapeámos 776 das regras de fixação da Sobreposição A para critérios de sucesso específicos das WCAG. A análise detalhada revela o paradoxo da conformidade das sobreposições:
| Critério WCAG | Total de correções | Original | Nocivo | Efeito líquido |
|---|---|---|---|---|
| 4.1.2 Nome, Função, Valor | 292 | 260 | 32 | Misto – os erros comprometem as correções genuínas |
| 2.4.4 Objetivo do link | 158 | 108 | 50 | 45 links ocultos = objetivo frustrado |
| 1.1.1 Conteúdo não textual | 108 | 28 | 80 | Saldo negativo – mais prejuízo do que benefício |
| 1.3.1 Informações e relações | 109 | 92 | 17 | Em geral, é útil, mas a remoção de funções prejudica a estrutura |
| 2.1.1 Teclado | 36 | 22 | 14 | Os elementos ocultos ficam inacessíveis através do teclado |
| Outros (6 critérios) | 73 | 69 | 4 | De um modo geral, positivo |
| Total | 776 | 579 (75 %) | 197 (25 %) |
A secção mais preocupante é a WCAG 1.1.1 (Conteúdo não textual): das 108 regras de correção que visam este critério, 80 são prejudiciais – Ocultar totalmente 52 imagens do AT através de hideFromAT(), e 28 marcam as imagens de conteúdo como decorativas através de alt="". A sobreposição está a tornar o conteúdo não textual menos acessível, nada mais. Isto é exatamente o oposto do que exige a WCAG 1.1.1.
A Comissão Federal do Comércio dos EUA confirmou esta conclusão ao aplicar uma multa de 1 milhão de dólares a um fornecedor de sobreposições em abril de 2025, afirmando que a ferramenta «não consegue ou não conseguiu tornar componentes básicos e essenciais do site, como menus, títulos, tabelas, imagens, gravações e outros, conformes com as WCAG».
Afirmação 3: «As sobreposições podem criar novas barreiras à acessibilidade»
A ficha informativa alerta para o facto de os produtos de sobreposição poderem «dificultar ativamente a vida das pessoas com deficiência».
Documentámos 141 elementos ocultos aos leitores de ecrã através de hideFromAT(), 115 papéis semânticos extraídos através de role="presentation", 63 imagens discretamente decorativas via alt="", e 7 elementos sem sentido aria-label="true".
Os exemplos mais prejudiciais ocorrem nos processos de finalização da compra e do carrinho:
Numa loja de luxo, os botões do Amazon Pay, Shop Pay e Klarna estão ocultos para as tecnologias de assistência. Um utilizador cego, ao finalizar a compra, vê menos opções de pagamento do que um utilizador com visão. Os campos de introdução da quantidade no carrinho e os botões de atualização estão ocultos numa loja de moda – um utilizador cego não consegue ajustar a sua encomenda.
Os links dos resultados de pesquisa de produtos estão ocultos em dois sites – o acesso dos utilizadores cegos aos produtos fica comprometido. As classificações por estrelas estão ocultas – os utilizadores cegos não conseguem avaliar a qualidade dos produtos da mesma forma que os utilizadores com visão.
O organismo federal de supervisão da Alemanha (BFIT-Bund) confirmou esta tendência na sua avaliação conjunta oficial: «É frequente que a utilização dessas ferramentas crie barreiras adicionais no sítio Web que não existiriam sem a ferramenta.»
Afirmação 4: «Os utilizadores já terão as ferramentas de que necessitam»
A ficha informativa argumenta que «os utilizadores finais a quem estas funcionalidades pretendem destinar-se já dispõem das funcionalidades necessárias nos seus computadores».
O Overlay C atribui um MutationObserver a todo o documento e intercepta 47 eventos de teclado. Isto cria conflitos diretos com leitores de ecrã, ferramentas de navegação por teclado e extensões de navegador das quais os utilizadores com deficiência já dependem.
Quando um utilizador de um leitor de ecrã configura os seus atalhos de teclado e preferências de navegação, uma sobreposição que intercepta keydown, keyup, e keypress Os eventos podem anular essas preferências. As 47 referências a eventos de teclado do Overlay C, incluídas no seu pacote de 794 KB, representam uma área substancial de interceção de teclado. O motor do Overlay D contém 282 addEventListener registos – qualquer um dos quais poderia entrar em conflito com os manipuladores de eventos da tecnologia de assistência.
Afirmação 5: «O valor prático dos widgets de sobreposição é, em grande medida, exagerado»
A ficha informativa refere que funcionalidades dos widgets, como os controlos de contraste e de tamanho do texto, oferecem um valor limitado, uma vez que os utilizadores já dispõem de equivalentes a nível do sistema.
As sobreposições que analisámos impõem um tempo de rede acumulado de 4 a 84 segundos por sessão, descarregam entre 500 KB e 2,9 MB de JavaScript por página e, num caso, enviam 83 pedidos de pré-verificação CORS que consomem 38,8 segundos de desperdício puro de protocolo – tudo isto para disponibilizar funcionalidades que os sistemas operativos, os navegadores e as tecnologias de assistência já oferecem de forma nativa.
A pior página individual da Overlay B gerou 48 pedidos, consumindo 12,8 segundos de tempo de rede. Para contextualizar, o limiar do Google para o indicador «Largest Contentful Paint» ser classificado como «fraco» no Core Web Vitals é de 2,5 segundos. Só a sobreposição excedeu esse limite em 5 vezes.
O Overlay A dedicou 75% dos seus 33,9 segundos de tempo de rede à análise comportamental – 58 pedidos POST de rastreamento para o seu próprio ponto final. Os pedidos à CDN relacionados com a acessibilidade consumiram apenas 25% do tempo total. A maior parte do custo de desempenho deve-se à recolha de dados pelo fornecedor, e não à melhoria da acessibilidade.
Afirmação 6: «Os proprietários de sites devem adotar estratégias mais sólidas, independentes e duradouras»
A ficha informativa defende «a eliminação das sobreposições de acessibilidade na Web» em favor de estratégias de acessibilidade permanentes.
A ferramenta de monitorização do nosso estudo representa exatamente esta abordagem: realizar uma análise com o axe-core, comunicar os problemas com IDs de regras padronizadas e níveis de gravidade, e deixar que os programadores os resolvam no código-fonte. Zero modificação do DOM, zero rastreamento de utilizadores, zero risco de danos no site, zero conflitos com o PCI DSS. Os resultados da análise que capturámos apresentaram pontuações que variaram entre 53,1 e 100, com detalhes específicos das violações (contraste de cores, ordem dos títulos, rótulos, pontos de referência únicos) que os programadores podem resolver imediatamente.
A principal diferença que os nossos dados revelam é de natureza arquitetónica: as sobreposições mantêm um conjunto paralelo de definições de correções que espelham a estrutura DOM do site e ficam desatualizadas a cada implementação. Uma ferramenta de monitorização analisa o DOM existente no momento da análise, reporta o que encontra e recomeça do zero na análise seguinte. Não há dívida técnica acumulada, nem seletores desatualizados, nem entradas de texto alternativo órfãs, nem a possibilidade de aplicar a correção errada ao elemento errado.
Para além do resumo informativo: o que os nossos dados acrescentam
A nossa investigação revelou conclusões que vão além do âmbito da ficha informativa sobre sobreposições:
Conflito com a norma PCI DSS 4.0: As regras de correção de sobreposição visam ativamente os elementos da página de pagamento – documentámos os seletores para #cardNumber, #billingState, botões de pagamento e formulários de finalização de compra. De acordo com o requisito 6.4.3 da norma PCI DSS (obrigatório a partir de março de 2025), todos os scripts das páginas de pagamento exigem autorização documentada e verificação de integridade. As sobreposições não cumprem este requisito. Num grupo de artigos de luxo, seletores idênticos para direcionamento de pagamentos são partilhados entre dois sites de marcas (96 % de sobreposição no código-fonte), duplicando o alcance de qualquer violação na cadeia de abastecimento.
Taxas de amostragem de varredura tão baixas quanto 1,7%: Descobrimos que os dados POST de análise de uma sobreposição contêm um samplingRate Os dados revelam que apenas 1,7–4,5% das sessões desencadeiam uma verificação de conformidade. Os restantes 95–98% recebem correções DOM sem qualquer verificação.
Violações do RGPD: Três sobreposições enviam identificadores de utilizador, dados de impressão digital do dispositivo e análises comportamentais antes de qualquer mecanismo de consentimento poder ser ativado – o que constitui uma situação de incumprimento automático nos termos do acórdão Planet49 do TJUE. Uma das sobreposições envia um UUID persistente, idêntico em todos os carregamentos de página, permitindo a criação de perfis completos de navegação entre páginas.
Rejeição por parte das autoridades reguladoras alemãs: O BFIT-Bund (organismo federal de supervisão da Alemanha) rejeitou oficialmente as sobreposições para efeitos de testes de conformidade, e os organismos de certificação BIK recusam-se a emitir selos de conformidade a sites que utilizem sobreposições. Ao abrigo da BFSG alemã (transposição da EAA), as multas variam entre 10 000 e 100 000 euros por infração.
Injeção de rótulos em formulários em tempo de execução que prejudica os formulários: O mecanismo de correção de uma sobreposição (110 KB) executa 24 regras de alteração do DOM em tempo de execução, incluindo um manipulador EmptyControls que tenta atribuir rótulos a campos de formulário sem rótulo. Num formulário de contacto ativo com sete campos, o mecanismo inseriu aria-label valores derivados do HTML name atributo em vez dos rótulos visíveis – o que faz com que dois campos partilhem o mesmo rótulo «Nome» (de name="first-name" e name="last-name"), três campos rotulados com tipos de elementos genéricos («Campo de texto», «Seleção única», «Área de texto») e dois que utilizam descrições do tipo de validação em vez do rótulo visível real. O instantâneo do DOM guardado confirma que todos os elementos modificados contêm o marcador de atributo de dados específico do fornecedor da sobreposição. O HTML original tinha rótulos visíveis corretos («Nome», «Nome da empresa», etc.), mas estes não incluíam for atributos – uma correção simples no código-fonte que o motor de execução da sobreposição não conseguiu reproduzir corretamente.
Correção de JSON contaminado com conteúdo de domínios externos: o JSON de correção pré-definido de uma sobreposição para um site bancário continha 7 entradas de texto alternativo – das quais apenas 1 era realmente do próprio domínio do banco (com um texto alternativo constituído por um único espaço). As restantes 6 entradas descreviam imagens de domínios completamente alheios: uma ferramenta polaca de teste de acessibilidade (ícones do bookmarklet ANDI), uma API chinesa de comparação de preços (ícones do widget de chat), uma rede russa de publicidade teaser (criativo publicitário) e o CDN do navegador da Xiaomi (interface de utilizador de solicitação de tradução). O scanner da sobreposição tinha capturado estes elementos durante uma sessão anterior, em que a pessoa que navegava tinha extensões de navegador de terceiros e injeções de anúncios ativas – e armazenou permanentemente as descrições geradas por IA no ficheiro de correção do banco, descarregado por todos os visitantes em todas as páginas. O JSON está acessível publicamente no CDN da sobreposição sem autenticação.
Os avisos contidos na Ficha Informativa sobre Overlays, redigidos por profissionais da área da acessibilidade com base na sua experiência, são agora corroborados por dados de produção recolhidos em 14 sites de comércio eletrónico ativos. Todas as principais afirmações confirmam-se – e a realidade, em vários aspetos, é pior do que a descrita na Ficha Informativa.
Afirmação 7: «As sobreposições prejudicam os esforços legítimos em matéria de acessibilidade»
A documentação sobre as alegações falsas relativas às sobreposições adverte que estas criam uma «narrativa falsa de que a acessibilidade está resolvida» e são «contrárias aos princípios fundamentais da ADA».
Uma sobreposição analisa apenas 1,7–4,5% das sessões dos visitantes. Os operadores do site recebem métricas de conformidade com base nesta amostra reduzida, o que cria uma falsa sensação de conformidade, uma vez que 95–98% das sessões nunca são verificadas. Quando uma implementação viola as regras de correção, a baixa taxa de amostragem significa que a regressão pode passar despercebida durante dias – período durante o qual o operador do site acredita estar em conformidade.
O problema mais profundo é que as sobreposições alteram o modelo mental de «precisamos de criar produtos acessíveis» para «instalámos um widget que trata da acessibilidade». Os nossos dados mostram como isto se traduz na prática: uma marca de bolsas de designer tem 383 regras de correção na sua sobreposição – mas o HTML subjacente continua a apresentar todos os problemas de acessibilidade originais. Se a CDN do fornecedor da sobreposição ficar inativa durante 30 minutos, todas as barreiras reaparecem instantaneamente. O site nunca foi verdadeiramente corrigido.
Afirmação 8: Preocupações com a privacidade e o rastreamento
Embora não constituam o foco principal da ficha informativa sobre sobreposições, foram levantadas preocupações em matéria de privacidade por parte de defensores das pessoas com deficiência, que salientam que as sobreposições podem detetar a utilização de tecnologias de apoio.
Os dados que interceptámos revelam um rastreio que vai muito além da deteção de AT.
Sobreposição A: 58 pedidos POST de análise por sessão para o seu próprio ponto de extremidade, cada um contendo um ID de sessão (sid), URL da página completa (pg), ID de carregamento da página (plid), categoria do dispositivo e tipo de evento. 75 % do tempo total de rede é dedicado a estas chamadas de rastreamento.
Sobreposição B: Um UUID persistente (uid) enviado em cada POST de configuração – o mesmo identificador em todas as páginas da sessão, permitindo ao fornecedor criar um perfil de navegação completo. O UUID é o mesmo – observámos que se mantinha inalterado nas cinco páginas de um site de telecomunicações.
Sobreposição C: USER-BEHAVIOR-ANALYTICS Enviar dados POST, incluindo domínio, versão do widget e eventos de interação. Identificação do dispositivo através de navigator.userAgent, navigator.userAgentData, e navigator.maxTouchPoints. Três localStorage chaves que mantêm o estado entre sessões.
Todos os três ativam o rastreamento assim que a página é carregada – antes de qualquer mecanismo de consentimento poder ser ativado. De acordo com o acórdão do TJUE no caso Planet49, o rastreamento não essencial requer consentimento prévio. Estas sobreposições estão automaticamente em incumprimento do RGPD em todos os sites direcionados para a UE.
Afirmação 9: «As sobreposições acarretam riscos jurídicos»
A ficha informativa refere que as sobreposições não podem «eliminar o risco jurídico», apesar das alegações dos fornecedores.
Em 2024, mais de 1 023 empresas que utilizavam widgets de acessibilidade foram processadas por violações da ADA – 25 % de todos os processos judiciais relacionados com acessibilidade digital nesse ano. Só em fevereiro de 2025, 132 empresas que utilizavam sobreposições foram processadas. A FTC multou um fornecedor em 1 milhão de dólares. Os organismos reguladores alemães rejeitaram explicitamente as sobreposições para efeitos de conformidade. O risco jurídico não é hipotético – está documentado, quantificado e a aumentar.
A nossa base de dados de processos judiciais (8 541 processos relacionados com a ADA) contém litígios diretos que envolvem fornecedores de sobreposições: três processos relativos a patentes/segredos comerciais entre dois fornecedores (2020–2022), uma ação coletiva movida por um cliente contra um fornecedor (2024) e um processo em curso contra outro fornecedor por parte de uma pequena empresa que foi processada apesar de utilizar a sobreposição (2024, pedido de indeferimento negado pelo juiz em 2026).
A ferramenta de monitorização não tem qualquer historial de litígios relacionados com falhas de acessibilidade – uma consequência lógica: uma vez que não altera o DOM, não pode criar as barreiras que dão origem a processos judiciais.
A lacuna de evidências foi agora colmatada
Durante anos, a ficha informativa sobre sobreposições e os alertas da comunidade de acessibilidade a esse respeito basearam-se na experiência profissional, em relatos de utilizadores e em testes manuais. Os críticos podiam descartá-los como anedóticos ou tendenciosos. A nossa investigação colmata essa lacuna ao fornecer a primeira base de evidências técnicas em grande escala: dados de produção interceptados de 924 pedidos de rede, 579 ficheiros-fonte extraídos de 14 sites de comércio eletrónico ativos ao longo de três sessões de captura independentes, complementados por instantâneos DOM guardados que preservam as modificações exatas em tempo de execução que as sobreposições injetam nas páginas de produção.
Todas as principais afirmações contidas na Ficha Informativa sobre Overlay são corroboradas pelos nossos dados. Várias afirmações são, na verdade, mais modestas do que aquilo que constatámos. E as áreas que a Ficha Informativa não abrange — conflitos com a norma PCI DSS, taxas de amostragem das análises, rastreamento pré-consentimento ao abrigo do RGPD, rejeição regulamentar na Alemanha — representam dimensões de risco adicionais que a comunidade de acessibilidade identificou com base na experiência, mas que anteriormente não conseguia quantificar.
As provas estão no código. O código está no tráfego interceptado. O tráfego provém de sites de produção que atendem clientes reais. As conclusões falam por si.