Billedbeskrivelse: Et skilt med teksten »Overlay-faktablad«, indrammet af advarselsbånd, der indeholder advarsler om værktøjer til overlejring af tilgængelighedsoplysninger.
Faktaarket om overlay, verificeret: Vores tekniske dokumentation for hver enkelt påstand
Faktaarket om overlay, verificeret: Vores tekniske dokumentation for hver enkelt påstand
Tilgængelighedsmiljøet har i årevis advaret mod overlay-værktøjer. Vi har opfanget produktionstrafik fra fire overlay-tjenester og sammenholdt vores resultater med hver enkelt påstand i faktabladet om overlay-tjenester – og dermed fremlagt det tekniske belæg for hver eneste advarsel.
Hvad er faktabladet om overlay?
»Overlay Fact Sheet« er en fællesskabsdrevet erklæring, der er underskrevet af over 600 fagfolk inden for tilgængelighed – herunder bidragydere og redaktører til WCAG-, ARIA- og HTML-specifikationerne samt interne tilgængelighedseksperter fra virksomheder som Google, Microsoft, Apple, Shopify, eBay og Target. Erklæringen fremsætter en række konkrete påstande om begrænsningerne og risiciene ved overlay-værktøjer til tilgængelighed.
Vores undersøgelse – der omfatter 924 opfangede HTTP-anmodninger med 579 komplette svartekster fra 14 aktive e-handelswebsteder samt gemte DOM-øjebliksbilleder med indbyggede overlay-ændringer – udgør det første omfattende tekniske bevismateriale, der gør det muligt at verificere hver enkelt påstand i forhold til faktiske produktionsdata. Her er, hvad vi fandt frem til.
Påstand 1: »Overlays retter ikke den underliggende kode«
I faktabladet om overlay står der, at overlay tillader »midlertidige ændringer af brugergrænsefladen« i stedet for at ændre kildekoden permanent.
Alle de overlay-elementer, vi har analyseret, fungerer udelukkende på DOM-laget – de ændrer elementer, efter at siden er indlæst, uden at ændre den underliggende HTML-kode. Vi har bekræftet dette gennem fire forskellige mekanismer:
Overlay A indlæser JavaScript-rettelsesfiler pr. websted, der indeholder 1.023 defineFix regler, der anvender setAttribute, attr(), og hideFromAT() for at ændre DOM-elementer under kørsel. Hvis overlay-scriptet fjernes eller ikke kan indlæses, forsvinder alle ændringer med det samme – den underliggende kode forbliver uændret.
Overlay B henter en 1,17 MB stor JSON-fil med rettelser og implementerer disse via en separat rettelsesmotor. Rettelserne er knyttet til bestemte billed-URL'er – når overlayet fjernes, forsvinder alle 5.068 alt-tekst-poster. Billederne vender tilbage til at være helt uden alt-tekst.
Overlay C leverer en samlet pakke på 794 KB, der ændrer DOM via 227 setAttribute opkald, 82 rolleændringer og 128 aria-label injektioner. Ingen af disse påvirker HTML-koden på serversiden.
Overlay D anvender konfigurationsbaserede, tilgængelige navne via en 649 KB-motor med 216 setAttribute kald. Rettelserne er kun til stede, så længe motoren kører.
Overvågningsværktøjet løser derimod slet ikke problemerne – det rapporterer blot fejlene til et udvikler-dashboard. Udviklerne løser dem i kildekoden, hvor rettelserne er permanente, testes og implementeres via de normale CI/CD-pipelines.
Hvad sker der, hvis overlay-CDN'en går ned?
Faktabladet antyder, at overlay-rettelser er midlertidige. Vi kan præcist måle, hvor midlertidige de er: hvis det CDN, der leverer overlayets JavaScript, går offline, forsvinder alle rettelser med det samme. Vores data viser afhængighedskæden:
Overlay A: Pr. sted active.js (op til 238 KB) indlæses fra et enkelt CDN. Hvis dette CDN er utilgængeligt i blot 30 sekunder, modtager ingen af de sider, der indlæses i dette tidsrum, nogen tilgængelighedskorrektioner. De 1.023 korrektionsregler, de 35 modalfokusfælder og alle de indsatte ARIA-mærker forsvinder simpelthen.
Overlay B: Korrektionsmodulet er afhængigt af tre eksterne domæner: et CDN til scripts, et API til finjusteringer og konfigurationer samt et separat CDN til AI-alt-tekst-API'et. Hvis et af disse tre domæner går ned, bryder forskellige dele af korrektionsprocessen sammen – hvilket potentielt kan efterlade DOM'en i en delvist ændret tilstand, hvor nogle rettelser er blevet anvendt, mens andre ikke er.
Overlay C: Hele overlayet består af en enkelt fil på 794 KB fra ét domæne. Nedbrud på CDN = fuldstændig forsvinden af widgeten. Men da overlayets MutationObserver overvågede DOM og ændrede elementer, kunne en delvis indlæsning af siden – hvor observatøren blev initialiseret, men fejlrettelseslogikken ikke blev gennemført – efterlade DOM i en inkonsekvent tilstand.
Overvågningsværktøjet er fuldstændig uafhængigt af CDN, hvad angår tilgængelighed. Hvis CDN'en går ned, er den eneste konsekvens, at statistikken over sidebesøg ikke længere registreres. Webstedets tilgængelighed påvirkes ikke, da alle rettelser findes i kildekoden – de er ikke afhængige af indlæsning af tredjepartsskripter.
Påstand 2: »Fuld overensstemmelse kan ikke opnås med et overlay«
I faktabladet hedder det, at »disse produkters dokumenterede manglende evne til at løse alle mulige problemer betyder, at de ikke kan sikre, at en hjemmeside overholder kravene.«
Vi har sammenholdt 776 af Overlay A’s rettelsesregler med specifikke WCAG-succeskriterier. 26 % (203 regler) medfører nye WCAG-overtrædelser, når man forsøger at rette eksisterende – herunder hideFromAT() kald, der forårsager fem samtidige fejl på niveau A pr. forekomst.
Konkrete tilfælde af manglende overholdelse, som vi har dokumenteret:
WCAG 1.1.1 (Ikke-tekstindhold): Overlay B genererer AI-alternativtekst, der ikke opfylder kravet om »tilsvarende formål« – et firmalogo beskrevet som »et blåt og gult skilt«, et navigationsikon beskrevet som »et simpelt sort rektangel«. 241 poster var på under 15 tegn. 323 overskred 125 tegn.
WCAG 2.1.1 (Tastatur): Overlay A skjuler interaktive elementer i tilgængelighedstræet, hvilket gør dem utilgængelige via tastaturet. Betalingsknapper, indkøbskurvsknapper og links til søgeresultater, der skjules af hideFromAT() kan ikke få fokus eller betjenes via tastaturet.
WCAG 4.1.2 (Navn, rolle, værdi): Overlay A indsætter aria-label="true" på 7 elementer fordelt på 3 sider – en fejl i koden, hvor det tilgængelige navn er den meningsløse streng »true«. Overlay A gælder også role="presentation" til 115 elementer, hvorved den semantiske betydning fjernes fra tabeller, overskrifter og orienteringspunkter.
WCAG 1.3.1 (Information og sammenhænge): Når role="presentation" anvendes på en datatabel, kan skærmlæsere ikke længere navigere efter rækker og kolonner. Tabellens struktur forsvinder fra tilgængelighedstræet.
Vi har kortlagt 776 af Overlay A’s fastlagte regler i forhold til specifikke WCAG-succeskriterier. Oversigten afslører det paradoks, der kendetegner overholdelsen af overlay-reglerne:
| WCAG-kriterium | Samlet antal rettelser | Ægte | Skadelig | Nettoeffekt |
|---|---|---|---|---|
| 4.1.2 Navn, rolle, værdi | 292 | 260 | 32 | Blandet – fejl underminerer reelle rettelser |
| 2.4.4 Formålet med linket | 158 | 108 | 50 | 45 skjulte links = formålet er ødelagt |
| 1.1.1 Ikke-tekstmæssigt indhold | 108 | 28 | 80 | Netto negativt – mere skade end gavn |
| 1.3.1 Oplysninger og relationer | 109 | 92 | 17 | Overvejende nyttigt, men fjernelsen af roller skader strukturen |
| 2.1.1 Tastatur | 36 | 22 | 14 | Skjulte elementer kan ikke nås via tastaturet |
| Andet (6 kriterier) | 73 | 69 | 4 | Overvejende positiv |
| I alt | 776 | 579 (75 %) | 197 (25 %) |
Den mest bekymrende kategori er WCAG 1.1.1 (Ikke-tekstindhold): af de 108 retningslinjer, der vedrører dette kriterium, 80 er skadelige – Skjul 52 billeder fra AT fuldstændigt via hideFromAT(), og 28 markerer indholdsbilleder som dekorative via alt="". Overlayet viser indhold, der ikke er tekst mindre tilgængelig, ikke mere. Dette er det stik modsatte af, hvad WCAG 1.1.1 kræver.
Den amerikanske Federal Trade Commission bekræftede denne konklusion, da den i april 2025 pålagde en udbyder af overlay-værktøjer en bøde på 1 million dollars og fastslog, at værktøjet »ikke sikrer eller har sikret, at grundlæggende og væsentlige webstedskomponenter som menuer, overskrifter, tabeller, billeder, optagelser og mere overholder WCAG.«
Påstand 3: »Overlays kan skabe nye hindringer for tilgængeligheden«
I faktaarket advares der om, at overlejringsprodukter kan »aktivt være til hinder for mennesker med handicap«.
Vi har registreret 141 elementer, der er skjult for skærmlæsere via hideFromAT(), 115 semantiske roller udledt via role="presentation", 63 billeder, der diskret fremstår som dekorative via alt="", og 7 elementer uden betydning aria-label="true".
De mest skadelige eksempler findes i betalings- og indkøbskurvsprocesserne:
Hos en luksusforhandler er knapperne til Amazon Pay, Shop Pay og Klarna skjult for hjælpemidler. En blind bruger ser færre betalingsmuligheder ved kassen end en seende bruger. Felterne til angivelse af antal varer i indkøbskurven og opdateringsknapperne er skjult hos en modebutik – en blind bruger kan derfor ikke ændre sin ordre.
Links til produktresultater er skjult på to hjemmesider – hvilket gør det vanskeligt for blinde brugere at finde frem til produkterne. Stjernebedømmelser er skjult – blinde brugere kan derfor ikke vurdere produktkvaliteten på samme måde som seende brugere.
Tysklands føderale tilsynsmyndighed (BFIT-Bund) bekræftede dette mønster i sin officielle fælles vurdering: »Det forekommer ofte, at brugen af sådanne værktøjer skaber yderligere barrierer på hjemmesiden, som ikke ville have eksisteret uden værktøjet.«
Påstand 4: »Brugerne vil allerede have de værktøjer, de har brug for«
I faktabladet fremføres det, at »de slutbrugere, som disse funktioner angiveligt er beregnet til, allerede har de nødvendige funktioner på deres computer.«
Overlay C knytter en MutationObserver til hele dokumentet og opfanger 47 tastaturhændelser. Dette skaber direkte konflikter med skærmlæsere, værktøjer til tastaturnavigation og browserudvidelser, som brugere med handicap allerede er afhængige af.
Når en bruger af en skærmlæser har konfigureret sine tastaturgenveje og navigationsindstillinger, vises et overlay, der opfanger keydown, keyup, og keypress hændelser kan tilsidesætte disse indstillinger. Overlay C’s 47 referencer til tastaturhændelser i dets 794 KB store pakke udgør et betydeligt område for tastaturaflytning. Overlay D’s motor indeholder 282 addEventListener registreringer – hvoraf enhver kan komme i konflikt med begivenhedshåndterere i hjælpemidler.
Påstand 5: Overlay-widgets’ »praktiske værdi er i høj grad overvurderet«
I faktabladet fremgår det, at widget-funktioner som kontrast- og tekststørrelsesindstillinger har begrænset værdi, da brugerne allerede har tilsvarende funktioner på systemniveau.
De overlays, vi har analyseret, medfører en samlet netværkstid på 4–84 sekunder pr. session, downloader 500 KB–2,9 MB JavaScript pr. side og udløser i ét tilfælde 83 CORS-preflight-anmodninger, der spiser 38,8 sekunder i rent protokolspild – alt sammen for at levere funktioner, som operativsystemer, browsere og hjælpemidler allerede tilbyder som standard.
Overlay B’s dårligste enkeltside genererede 48 anmodninger, der tog 12,8 sekunder af netværkstiden. Til sammenligning er Googles Core Web Vitals-tærskel for »dårlig« Largest Contentful Paint på 2,5 sekunder. Alene overlayet overskred denne tærskel med en faktor 5.
Overlay A brugte 75 % af sine 33,9 sekunder i netværket på adfærdsanalyse – 58 sporings-POST-anmodninger til sit eget endpoint. De tilgængelighedsrelaterede CDN-anmodninger udgjorde kun 25 % af den samlede tid. Størstedelen af den negative indvirkning på ydeevnen skyldes leverandørens dataindsamling, ikke forbedringer af tilgængeligheden.
Påstand 6: »Webstedsindehavere bør anvende mere robuste, uafhængige og varige strategier«
I faktabladet anbefales det at »fjerne overlay-løsninger til webtilgængelighed« til fordel for permanente tilgængelighedsstrategier.
Overvågningsværktøjet i vores undersøgelse repræsenterer netop denne tilgang: scanning med axe-core, rapportering af problemer med standardiserede regel-id’er og alvorlighedsniveauer, så udviklerne kan rette dem i kildekoden. Ingen ændringer af DOM, ingen brugersporing, ingen risiko for nedbrud af webstedet, ingen PCI DSS-konflikter. De scanningsresultater, vi indsamlede, viste scores fra 53,1 til 100 med specifikke detaljer om overtrædelser (farvekontrast, overskriftsrækkefølge, etiketter, unikke landemærker), som udviklerne kan handle på med det samme.
Den grundlæggende forskel, som vores data afslører, er af arkitektonisk karakter: Overlays opretholder et parallelt sæt af rettelsesdefinitioner, der afspejler webstedets DOM-struktur og bliver forældede ved hver implementering. Et overvågningsværktøj scanner den DOM, der findes på scannetidspunktet, rapporterer sine fund og starter forfra ved den næste scanning. Der er ingen ophobet teknisk gæld, ingen forældede selektorer, ingen forældreløse alt-tekst-indtastninger og ingen risiko for, at den forkerte rettelse anvendes på det forkerte element.
Mere end blot faktaarket: Hvad vores data bidrager med
Vores undersøgelse har afdækket resultater, der går ud over rammerne af Overlay-faktabladet:
Konflikt med PCI DSS 4.0: Regler til overlay-rettelser er specifikt rettet mod elementer på betalingssiden – vi har dokumenteret selektorer til #cardNumber, #billingState, betalingsknapper og betalingsformularer. I henhold til PCI DSS-krav 6.4.3 (obligatorisk fra marts 2025) skal der for hvert script på en betalingsside foreligge dokumenteret godkendelse og integritetskontrol. Overlays opfylder ikke dette krav. Hos en koncern inden for luksusvarer deles identiske betalingsmålretningsselektorer på tværs af to brandwebsteder (96 % overlapning i kodebasen), hvilket fordobler omfanget af eventuelle sikkerhedsbrud i forsyningskæden.
Scanningsfrekvenser helt ned til 1,7 %: Vi opdagede, at POST-dataene fra et overlay indeholder en samplingRate Det fremgår af undersøgelsen, at kun 1,7–4,5 % af sessionerne udløser en overensstemmelsesscanning. De resterende 95–98 % modtager DOM-rettelser uden nogen form for verifikation.
Overtrædelser af GDPR: Tre pop-up-vinduer sender brugeridentifikatorer, data om enhedens fingeraftryk og adfærdsanalyser, før nogen samtykkemekanisme kan træde i kraft – hvilket udgør en automatisk overtrædelse i henhold til EU-Domstolens Planet49-dom. Et af pop-up-vinduerne sender en vedvarende UUID, der er identisk ved alle sideindlæsninger, hvilket muliggør komplette browsingprofiler på tværs af siderne.
Tysk myndighedsafvisning: BFIT-Bund (Tysklands føderale tilsynsmyndighed) har officielt afvist overlays i forbindelse med overensstemmelsestest, og BIK-testorganer nægter at udstede overensstemmelsesmærker til websteder, der anvender overlays. I henhold til den tyske BFSG-lov (gennemførelse af EAA-direktivet) ligger bøderne på mellem 10.000 og 100.000 euro pr. overtrædelse.
Indsættelse af formularetiketter under kørsel, der forringer formularerne: Et overlays-korrektionsmodul (110 KB) kører 24 regler for DOM-ændringer under kørsel, herunder en EmptyControls-handler, der forsøger at tilføje etiketter til formfelter uden etiketter. På en aktiv kontaktformular med syv felter indsatte modulet aria-label værdier hentet fra HTML-koden name attribut i stedet for de synlige etiketter – hvilket medfører, at to felter har den samme etiket, nemlig »Navn« (fra name="first-name" og name="last-name"), tre felter mærket med generiske elementtyper („Tekstfelt“, „Enkeltvalg“, „Tekstområde“) og to, der bruger beskrivelser af valideringstypen i stedet for den faktisk synlige etiket. Det gemte DOM-øjebliksbillede bekræfter, at hvert ændret element bærer overlayets leverandørspecifikke dataattributmarkør. Den oprindelige HTML havde korrekte synlige etiketter („Fornavn“, „Firmanavn“ osv.), men de manglede for attributter – en simpel rettelse i kildekoden, som overlayets kørselsmotor ikke formåede at gengive korrekt.
Rettelse af JSON-filer forurenet med indhold fra fremmede domæner: Et foruddefineret rettelses-JSON fra et overlay til en bankhjemmeside indeholdt 7 alt-tekst-poster – hvoraf kun 1 faktisk stammede fra bankens eget domæne (med en alt-tekst bestående af et enkelt mellemrum). De resterende 6 poster beskrev billeder fra helt urelaterede domæner: et polsk tilgængelighedstestværktøj (ANDI-bookmarklet-ikoner), et kinesisk pris sammenlignings-API (chat-widget-ikoner), et russisk teaser-reklamenetværk (reklame-creative) og Xiaomis browser-CDN (oversættelsesprompt-brugergrænseflade). Overlayets scanner havde registreret disse under en tidligere session, hvor den person, der surfede, havde tredjepartsbrowserudvidelser og annonceindsættelser aktive – og gemte de AI-genererede beskrivelser permanent i bankens korrigeringsfil, som blev downloadet af alle besøgende på alle sider. JSON-filen er offentligt tilgængelig på overlayets CDN uden godkendelse.
Advarslerne i Overlay-faktabladet, som er udarbejdet af tilgængelighedseksperter på baggrund af deres erfaringer, underbygges nu af indsamlede produktionsdata fra 14 aktive e-handelswebsteder. Alle de væsentligste påstande holder stik – og virkeligheden er på flere områder værre, end det fremgår af faktabladet.
Påstand 7: »Overlays underminerer legitime tiltag for tilgængelighed«
I dokumentationen om »Overlay False Claims« advares der om, at overlay-løsninger skaber en »falsk forestilling om, at tilgængelighedsproblemerne er løst« og er »i strid med grundprincipperne i ADA«.
Et overlay-værktøj scanner kun 1,7–4,5 % af besøgsessionerne. Webstedsoperatører modtager overholdelsesmålinger baseret på denne begrænsede stikprøve, hvilket skaber en falsk fornemmelse af overholdelse, mens 95–98 % af sessionerne aldrig bliver verificeret. Når en implementering bryder fastlagte regler, betyder den lave stikprøveprocent, at afvigelsen kan forblive uopdaget i flere dage – hvor webstedsoperatøren tror, at reglerne overholdes.
Det egentlige problem er, at overlay-løsninger ændrer tankegangen fra »vi skal udvikle tilgængelige produkter« til »vi har installeret et widget, der tager sig af tilgængeligheden«. Vores data viser, hvordan det ser ud i praksis: En forhandler af designerhåndtasker har 383 rettelsesregler i sit overlay – men den underliggende HTML indeholder stadig alle de oprindelige tilgængelighedsproblemer. Hvis overlay-leverandørens CDN går ned i 30 minutter, dukker alle hindringerne straks op igen. Hjemmesiden blev aldrig rigtig rettet.
Påstand 8: Bekymringer vedrørende privatliv og sporing
Selvom det ikke er et hovedfokus i faktabladet om overlay-funktioner, har handicapforkæmpere rejst bekymringer om privatlivets fred, idet de påpeger, at overlay-funktioner kan registrere brugen af hjælpemidler.
Vores opfangede data afslører sporing, der rækker langt ud over detektering af AT.
Overlay A: 58 POST-anmodninger pr. session til sit eget endpoint, hvor hver enkelt indeholder et sessions-id (sid), fuld URL (pg), sideindlæsnings-ID (plid), enhedskategori og hændelsestype. 75 % af den samlede netværkstid bruges på disse sporingsopkald.
Overlay B: En permanent UUID (uid) sendes med hvert POST-anmodning – den samme identifikator på alle sider i sessionen, hvilket gør det muligt for udbyderen at opbygge en komplet profil over brugerens browsingadfærd. UUID'en er den samme – vi konstaterede, at den forblev uændret på alle fem sider på et telekommunikationswebsted.
Overlay C: USER-BEHAVIOR-ANALYTICS Indsend data, herunder domæne, widgetversion og interaktionshændelser. Enhedsidentifikation via navigator.userAgent, navigator.userAgentData, og navigator.maxTouchPoints. Tre localStorage nøgler, der bevares på tværs af sessioner.
Alle tre aktiverer deres sporingsfunktioner, når siden indlæses – før nogen samtykkemekanisme kan træde i kraft. Ifølge EU-Domstolens afgørelse i Planet49-sagen kræver ikke-væsentlig sporing forudgående samtykke. Disse pop-up-vinduer er automatisk i strid med GDPR på alle websteder, der henvender sig til EU.
Påstand 9: »Overlays medfører en juridisk risiko«
I faktabladet bemærkes det, at overlays ikke kan »eliminere den juridiske risiko«, trods leverandørernes påstande.
I 2024 blev over 1.023 virksomheder, der anvendte tilgængeligheds-widgets, sagsøgt for overtrædelser af ADA – hvilket udgjorde 25 % af alle retssager om digital tilgængelighed det år. Alene i februar 2025 blev 132 virksomheder, der anvendte overlay, sagsøgt. FTC pålagde en leverandør en bøde på 1 million dollars. Tysklands tilsynsmyndigheder har udtrykkeligt afvist overlay som en løsning til at opfylde lovkravene. Den juridiske risiko er ikke hypotetisk – den er dokumenteret, kvantificeret og voksende.
Vores database over retssager (8.541 ADA-sagsakter) indeholder direkte retssager, der involverer leverandører af overlay-løsninger: tre sager om patenter/erhvervshemmeligheder mellem to leverandører (2020–2022), en gruppesøgsmål anlagt af en kunde mod en leverandør (2024) og en verserende retssag mod en anden leverandør anlagt af en lille virksomhed, der blev sagsøgt på trods af, at den anvendte overlayet (2024, begæring om afvisning afvist af dommeren i 2026).
Overvågningsværktøjet har ingen historik med retssager vedrørende manglende tilgængelighed – hvilket er en logisk konsekvens: Da det ikke ændrer DOM, kan det ikke skabe de hindringer, der kan føre til retssager.
Beviskløften er nu lukket
I årevis har faktaarket om overlay-teknikker og tilgængelighedssamfundets advarsler om disse teknikker været baseret på faglig erfaring, brugerrapporter og manuelle test. Kritikere kunne afvise dem som anekdotiske eller partiske. Vores forskning lukker dette hul ved at levere den første store tekniske evidensbase: opfangede produktionsdata fra 924 netværksanmodninger, 579 udtrukne kildefiler fra 14 aktive e-handelswebsteder over tre uafhængige opfangelsessessioner, suppleret med gemte DOM-snapshots, der bevarer de nøjagtige ændringer, som overlays indsætter i produktionssiderne under kørsel.
Alle væsentlige påstande i faktabladet om Overlay er underbygget af vores data. Flere af påstandene er endda mere forsigtige end vores faktiske fund. Og de områder, som faktabladet ikke dækker – konflikter med PCI DSS, stikprøvefrekvenser ved scanning, sporing før samtykke i henhold til GDPR samt afvisning fra tyske myndigheder – udgør yderligere risikofaktorer, som tilgængelighedssamfundet har identificeret gennem erfaring, men som det hidtil ikke har været muligt at kvantificere.
Beviserne findes i koden. Koden findes i den aflyttede trafik. Trafikken stammer fra produktionsmiljøer, der betjener rigtige kunder. Resultaterne taler for sig selv.