Περιγραφή εικόνας: Πινακίδα με τίτλο «Φύλλο πληροφοριών για την επικάλυψη», πλαισιωμένη με ταινία προειδοποίησης, η οποία περιέχει προειδοποιήσεις σχετικά με τα εργαλεία επικάλυψης προσβασιμότητας.
Το ενημερωτικό δελτίο με τις επικαλύψεις, επαληθευμένο: Τα τεχνικά στοιχεία μας για κάθε ισχυρισμό
Το ενημερωτικό δελτίο με τις επικαλύψεις, επαληθευμένο: Τα τεχνικά στοιχεία μας για κάθε ισχυρισμό
Η κοινότητα προσβασιμότητας προειδοποιεί εδώ και χρόνια για τα εργαλεία επικάλυψης. Αναλύσαμε την κίνηση παραγωγής από τέσσερα εργαλεία επικάλυψης και αντιστοιχίσαμε τα ευρήματά μας με κάθε ισχυρισμό που περιλαμβάνεται στο ενημερωτικό δελτίο για τα εργαλεία επικάλυψης, παρέχοντας έτσι τα τεχνικά στοιχεία που στηρίζουν κάθε προειδοποίηση.
Τι είναι το ενημερωτικό δελτίο επικάλυψης;
Το «Overlay Fact Sheet» είναι μια δήλωση που προέκυψε από την κοινότητα και έχει υπογραφεί από περισσότερους από 600 επαγγελματίες στον τομέα της προσβασιμότητας – μεταξύ των οποίων συντάκτες και επιμελητές των προδιαγραφών WCAG, ARIA και HTML, καθώς και εσωτερικοί εμπειρογνώμονες προσβασιμότητας από εταιρείες όπως η Google, η Microsoft, η Apple, η Shopify, το eBay και η Target. Περιλαμβάνει διάφορες συγκεκριμένες παρατηρήσεις σχετικά με τους περιορισμούς και τους κινδύνους των εργαλείων επικάλυψης προσβασιμότητας.
Η έρευνά μας – 924 υποκλαπέντα αιτήματα HTTP με 579 πλήρη σώματα απαντήσεων από 14 ενεργούς ιστότοπους ηλεκτρονικού εμπορίου, καθώς και αποθηκευμένα στιγμιότυπα DOM με ενσωματωμένες τροποποιήσεις επικάλυψης – παρέχει την πρώτη βάση τεχνικών στοιχείων μεγάλης κλίμακας για την επαλήθευση κάθε ισχυρισμού σε σχέση με πραγματικά δεδομένα παραγωγής. Ακολουθούν τα ευρήματά μας.
Ισχυρισμός 1: «Τα overlays δεν διορθώνουν τον υποκείμενο κώδικα»
Σύμφωνα με το ενημερωτικό δελτίο για τα overlay, τα overlay επιτρέπουν «προσωρινές τροποποιήσεις στη διεπαφή χρήστη» αντί για μόνιμες αλλαγές στον πηγαίο κώδικα.
Κάθε overlay που αναλύσαμε λειτουργεί αποκλειστικά στο επίπεδο DOM – τροποποιώντας στοιχεία μετά τη φόρτωση της σελίδας, χωρίς να αλλάζει τον υποκείμενο πηγαίο κώδικα HTML. Αυτό το επιβεβαιώσαμε μέσω τεσσάρων διαφορετικών μηχανισμών:
Επικάλυψη Α φορτώνει αρχεία διόρθωσης JavaScript ανά ιστότοπο που περιέχουν 1.023 defineFix κανόνες που χρησιμοποιούν setAttribute, attr(), και hideFromAT() για την τροποποίηση στοιχείων DOM κατά την εκτέλεση. Εάν το σενάριο επικάλυψης αφαιρεθεί ή δεν φορτωθεί, κάθε διόρθωση εξαφανίζεται αμέσως – ο υποκείμενος κώδικας παραμένει αμετάβλητος.
Το Overlay B κατεβάζει ένα αρχείο JSON διόρθωσης μεγέθους 1,17 MB και εφαρμόζει τις διορθώσεις μέσω ενός ξεχωριστού μηχανισμού διόρθωσης. Οι διορθώσεις αντιστοιχούν σε συγκεκριμένες διευθύνσεις URL εικόνων – όταν αφαιρεθεί η επικάλυψη, και οι 5.068 καταχωρήσεις εναλλακτικού κειμένου εξαφανίζονται. Οι εικόνες επανέρχονται στην αρχική τους κατάσταση, χωρίς καθόλου εναλλακτικό κείμενο.
Επικάλυψη C περιλαμβάνει ένα μονολιθικό πακέτο 794 KB που τροποποιεί το DOM μέσω 227 setAttribute κλήσεις, 82 τροποποιήσεις ρόλων και 128 aria-label ενέσεις. Καμία από αυτές δεν επηρεάζει τον κώδικα HTML από την πλευρά του διακομιστή.
Επικάλυψη D εφαρμόζει ονόματα προσβάσιμα μέσω ρυθμίσεων, χρησιμοποιώντας έναν μηχανισμό 649 KB με 216 setAttribute κλήσεις. Οι διορθώσεις ισχύουν μόνο όσο λειτουργεί ο κινητήρας.
Το εργαλείο παρακολούθησης, αντίθετα, δεν επιδιορθώνει καθόλου τα προβλήματα – απλώς τα αναφέρει σε έναν πίνακα ελέγχου προγραμματιστών. Οι προγραμματιστές τα επιδιορθώνουν στον πηγαίο κώδικα, όπου οι διορθώσεις είναι μόνιμες, δοκιμάζονται και αναπτύσσονται μέσω των συνήθων διαδικασιών CI/CD.
Τι συμβαίνει όταν το CDN επικάλυψης πέφτει εκτός λειτουργίας;
Το ενημερωτικό δελτίο υποδηλώνει ότι οι διορθώσεις του overlay είναι προσωρινές. Μπορούμε να προσδιορίσουμε με ακρίβεια πόσο προσωρινές είναι: αν το CDN που εξυπηρετεί το JavaScript του overlay πέσει εκτός λειτουργίας, κάθε διόρθωση εξαφανίζεται αμέσως. Τα δεδομένα μας δείχνουν την αλυσίδα εξαρτήσεων:
Επικάλυψη Α: Ανά τοποθεσία active.js (μέχρι 238 KB) φορτώνεται από ένα μόνο CDN. Εάν το CDN αυτό είναι απρόσιτο έστω και για 30 δευτερόλεπτα, κάθε φόρτωση σελίδας κατά τη διάρκεια αυτού του χρονικού διαστήματος δεν λαμβάνει καμία διόρθωση προσβασιμότητας. Οι 1.023 κανόνες διόρθωσης, οι 35 παγίδες εστίασης σε αναδυόμενα παράθυρα και όλες οι εισαγόμενες ετικέτες ARIA απλώς εξαφανίζονται.
Overlay B: Ο μηχανισμός διόρθωσης βασίζεται σε τρεις εξωτερικούς τομείς: ένα CDN για σενάρια, ένα API για ρυθμίσεις και διαμορφώσεις, καθώς και ένα ξεχωριστό CDN για το API εναλλακτικού κειμένου τεχνητής νοημοσύνης. Εάν κάποιος από αυτούς τους τρεις τομείς παρουσιάσει διακοπή λειτουργίας, διακόπτονται διάφορα τμήματα της ροής διόρθωσης – με αποτέλεσμα το DOM να παραμείνει ενδεχομένως σε κατάσταση μερικής μεταβολής, όπου ορισμένες διορθώσεις έχουν εφαρμοστεί, ενώ άλλες όχι.
Overlay C: Ολόκληρο το overlay αποτελείται από ένα ενιαίο πακέτο 794 KB που προέρχεται από έναν τομέα. Διακοπή λειτουργίας του CDN = πλήρης εξαφάνιση του widget. Ωστόσο, επειδή το MutationObserver του overlay παρακολουθούσε το DOM και τροποποιούσε στοιχεία, μια μερική φόρτωση της σελίδας —όπου ο παρατηρητής είχε αρχικοποιηθεί αλλά η λογική διόρθωσης δεν είχε ολοκληρωθεί— θα μπορούσε να αφήσει το DOM σε ασυνεπή κατάσταση.
Το εργαλείο παρακολούθησης δεν εξαρτάται καθόλου από το CDN όσον αφορά την προσβασιμότητα. Σε περίπτωση διακοπής λειτουργίας του CDN, το μόνο αποτέλεσμα είναι ότι σταματά η καταγραφή των μετρήσεων επισκεψιμότητας. Η προσβασιμότητα του ιστότοπου δεν επηρεάζεται, καθώς όλες οι διορθώσεις βρίσκονται στον πηγαίο κώδικα – δεν εξαρτώνται από τη φόρτωση σεναρίων τρίτων.
Ισχυρισμός 2: «Η πλήρης συμμόρφωση δεν μπορεί να επιτευχθεί με μια επικάλυψη»
Στο ενημερωτικό δελτίο αναφέρεται ότι «η τεκμηριωμένη αδυναμία αυτών των προϊόντων να επιλύσουν όλα τα πιθανά προβλήματα σημαίνει ότι δεν μπορούν να εξασφαλίσουν τη συμμόρφωση ενός ιστότοπου».
Αντιστοιχίσαμε 776 από τους κανόνες διόρθωσης του Overlay A με συγκεκριμένα κριτήρια επιτυχίας των WCAG. Το 26% (203 κανόνες) δημιουργεί νέες παραβιάσεις των WCAG κατά την προσπάθεια διόρθωσης υφιστάμενων παραβιάσεων – μεταξύ των οποίων hideFromAT() κλήσεις που προκαλούν πέντε ταυτόχρονες αστοχίες επιπέδου Α ανά περίπτωση.
Συγκεκριμένες παραβάσεις συμμόρφωσης που καταγράψαμε:
WCAG 1.1.1 (Περιεχόμενο εκτός κειμένου): Το Overlay B δημιουργεί εναλλακτικό κείμενο AI που δεν πληροί το κριτήριο του «ισοδύναμου σκοπού» – ένα λογότυπο εταιρείας που περιγράφεται ως «μια μπλε και κίτρινη πινακίδα», ένα εικονίδιο πλοήγησης που περιγράφεται ως «ένα απλό μαύρο ορθογώνιο». 241 καταχωρήσεις είχαν λιγότερους από 15 χαρακτήρες. 323 ξεπέρασαν τους 125 χαρακτήρες.
WCAG 2.1.1 (Πληκτρολόγιο): Το Overlay A αποκρύπτει τα διαδραστικά στοιχεία από το δέντρο προσβασιμότητας, καθιστώντας τα μη προσβάσιμα μέσω πληκτρολογίου. Τα κουμπιά πληρωμής, τα στοιχεία ελέγχου του καλαθιού αγορών και οι σύνδεσμοι αποτελεσμάτων αναζήτησης που αποκρύπτονται από hideFromAT() δεν μπορεί να λάβει εστίαση ούτε να χειριστεί μέσω πληκτρολογίου.
WCAG 4.1.2 (Όνομα, Ρόλος, Τιμή): Η επικάλυψη Α εισάγει aria-label="true" σε 7 στοιχεία σε 3 τοποθεσίες – ένα σφάλμα στον κώδικα όπου το προσβάσιμο όνομα είναι η χωρίς νόημα συμβολοσειρά «true». Ισχύει επίσης η επικάλυψη Α role="presentation" σε 115 στοιχεία, αφαιρώντας τη σημασιολογική σημασία από πίνακες, επικεφαλίδες και σημεία αναφοράς.
WCAG 1.3.1 (Πληροφορίες και σχέσεις): Όταν role="presentation" εφαρμόζεται σε έναν πίνακα δεδομένων, τα προγράμματα ανάγνωσης οθόνης δεν μπορούν πλέον να περιηγούνται ανά σειρές και στήλες. Η δομή του πίνακα εξαφανίζεται από το δέντρο προσβασιμότητας.
Αντιστοιχίσαμε 776 από τους κανόνες διόρθωσης της επικάλυψης Α με συγκεκριμένα κριτήρια επιτυχίας των WCAG. Η ανάλυση αποκαλύπτει το παράδοξο της συμμόρφωσης των επικαλύψεων:
| Κριτήριο WCAG | Συνολικές διορθώσεις | Γνήσιο | Επιβλαβές | Καθαρό αποτέλεσμα |
|---|---|---|---|---|
| 4.1.2 Όνομα, ρόλος, τιμή | 292 | 260 | 32 | Μικτά – τα σφάλματα υπονομεύουν τις πραγματικές διορθώσεις |
| 2.4.4 Σκοπός του συνδέσμου | 158 | 108 | 50 | 45 κρυμμένοι σύνδεσμοι = σκοπός καταστραφεί |
| 1.1.1 Περιεχόμενο εκτός κειμένου | 108 | 28 | 80 | Καθαρά αρνητικό – κάνει περισσότερο κακό παρά καλό |
| 1.3.1 Πληροφορίες και σχέσεις | 109 | 92 | 17 | Συνολικά χρήσιμο, αλλά η αφαίρεση ρόλων βλάπτει τη δομή |
| 2.1.1 Πληκτρολόγιο | 36 | 22 | 14 | Τα κρυφά στοιχεία δεν είναι πλέον προσβάσιμα μέσω πληκτρολογίου |
| Άλλα (6 κριτήρια) | 73 | 69 | 4 | Γενικά θετική |
| Σύνολο | 776 | 579 (75%) | 197 (25%) |
Η πιο ανησυχητική κατηγορία είναι η WCAG 1.1.1 (Περιεχόμενο εκτός κειμένου): από τους 108 κανόνες διόρθωσης που αφορούν αυτό το κριτήριο, 80 είναι επιβλαβή – 52 απόκρυψη εικόνων από το AT εξ ολοκλήρου μέσω hideFromAT(), και 28 επισημαίνουν τις εικόνες περιεχομένου ως διακοσμητικές μέσω alt="". Η επικάλυψη μετατρέπει το περιεχόμενο που δεν είναι κείμενο λιγότερο προσβάσιμο, τίποτα περισσότερο. Αυτό είναι ακριβώς το αντίθετο από ό,τι απαιτεί το WCAG 1.1.1.
Η Ομοσπονδιακή Επιτροπή Εμπορίου των ΗΠΑ επιβεβαίωσε αυτό το συμπέρασμα όταν επέβαλε πρόστιμο ύψους 1 εκατομμυρίου δολαρίων σε έναν προμηθευτή overlay τον Απρίλιο του 2025, αναφέροντας ότι το εργαλείο «δεν καταφέρνει ή δεν κατάφερε να καταστήσει βασικά και ουσιώδη στοιχεία ιστοσελίδων, όπως μενού, επικεφαλίδες, πίνακες, εικόνες, ηχογραφήσεις και άλλα, συμβατά με τις WCAG».
Ισχυρισμός 3: «Τα overlay μπορούν να δημιουργήσουν νέα εμπόδια στην προσβασιμότητα»
Το ενημερωτικό δελτίο προειδοποιεί ότι τα προϊόντα επικάλυψης μπορούν να «εμποδίζουν ενεργά τα άτομα με αναπηρία».
Καταγράψαμε 141 στοιχεία που δεν εμφανίζονται στα προγράμματα ανάγνωσης οθόνης μέσω hideFromAT(), 115 σημασιολογικοί ρόλοι που εξήχθησαν μέσω role="presentation", 63 εικόνες που χαρακτηρίζονται σιωπηλά ως διακοσμητικές μέσω alt="", καθώς και 7 στοιχεία χωρίς νόημα aria-label="true".
Τα πιο επιζήμια παραδείγματα παρατηρούνται στις διαδικασίες ολοκλήρωσης αγοράς και στο καλάθι αγορών:
Σε έναν ιστότοπο λιανικής πώλησης ειδών πολυτελείας, τα κουμπιά Amazon Pay, Shop Pay και Klarna δεν είναι προσβάσιμα από τις τεχνολογίες υποβοήθησης. Ένας τυφλός χρήστης κατά τη διαδικασία ολοκλήρωσης της παραγγελίας βλέπει λιγότερες επιλογές πληρωμής σε σύγκριση με έναν χρήστη που βλέπει. Τα πεδία εισαγωγής ποσότητας στο καλάθι και τα κουμπιά ενημέρωσης είναι κρυμμένα σε έναν ιστότοπο λιανικής πώλησης ειδών μόδας – ένας τυφλός χρήστης δεν μπορεί να τροποποιήσει την παραγγελία του.
Οι σύνδεσμοι με τα αποτελέσματα αναζήτησης προϊόντων είναι κρυμμένοι σε δύο ιστότοπους – αυτό δυσχεραίνει την αναζήτηση προϊόντων από τους τυφλούς χρήστες. Οι αξιολογήσεις με αστέρια είναι κρυμμένες – οι τυφλοί χρήστες δεν μπορούν να εκτιμήσουν την ποιότητα των προϊόντων με τον ίδιο τρόπο όπως οι χρήστες που βλέπουν.
Ο ομοσπονδιακός φορέας εποπτείας της Γερμανίας (BFIT-Bund) επιβεβαίωσε αυτή την τάση στην επίσημη κοινή αξιολόγησή του: «Συχνά συμβαίνει η χρήση τέτοιων εργαλείων να δημιουργεί πρόσθετα εμπόδια στον ιστότοπο, τα οποία δεν θα υπήρχαν χωρίς το εργαλείο αυτό.»
Ισχυρισμός 4: «Οι χρήστες θα διαθέτουν ήδη τα εργαλεία που χρειάζονται»
Στο ενημερωτικό δελτίο υποστηρίζεται ότι «οι τελικοί χρήστες στους οποίους υποτίθεται ότι απευθύνονται αυτές οι λειτουργίες θα διαθέτουν ήδη τις απαραίτητες λειτουργίες στον υπολογιστή τους».
Το Overlay C συνδέει έναν MutationObserver σε ολόκληρο το έγγραφο και παρεμποδίζει 47 συμβάντα πληκτρολογίου. Αυτό δημιουργεί άμεσες συγκρούσεις με προγράμματα ανάγνωσης οθόνης, εργαλεία πλοήγησης με πληκτρολόγιο και επεκτάσεις προγραμμάτων περιήγησης στα οποία βασίζονται ήδη τα άτομα με αναπηρία.
Όταν ένας χρήστης προγράμματος ανάγνωσης οθόνης έχει ρυθμίσει τις συντομεύσεις πληκτρολογίου και τις προτιμήσεις πλοήγησής του, εμφανίζεται ένα παράθυρο που παρεμποδίζει keydown, keyup, και keypress ορισμένα συμβάντα μπορούν να παρακάμψουν αυτές τις προτιμήσεις. Οι 47 αναφορές σε συμβάντα πληκτρολογίου της Overlay C στο πακέτο των 794 KB της αποτελούν μια σημαντική επιφάνεια παρακολούθησης πληκτρολογίου. Ο μηχανισμός της Overlay D περιέχει 282 addEventListener εγγραφές – οποιαδήποτε από τις οποίες ενδέχεται να έρχεται σε σύγκρουση με τους χειριστές συμβάντων της τεχνολογίας υποβοήθησης.
Ισχυρισμός 5: Η «πρακτική αξία» των widget επικάλυψης «υπερεκτιμάται σε μεγάλο βαθμό»
Στο ενημερωτικό δελτίο αναφέρεται ότι λειτουργίες των widget, όπως οι ρυθμίσεις αντίθεσης και μεγέθους κειμένου, προσφέρουν περιορισμένη χρησιμότητα, καθώς οι χρήστες διαθέτουν ήδη αντίστοιχες λειτουργίες σε επίπεδο συστήματος.
Οι επικαλύψεις που αναλύσαμε επιβαρύνουν το δίκτυο με 4–84 δευτερόλεπτα συνολικού χρόνου ανά συνεδρία, κατεβάζουν 500 KB–2,9 MB κώδικα JavaScript ανά σελίδα και, σε μία περίπτωση, εκτελούν 83 αιτήματα CORS preflight που καταναλώνουν 38,8 δευτερόλεπτα καθαρού χρόνου που χάνεται λόγω του πρωτοκόλλου – και όλα αυτά για να παρέχουν λειτουργίες που τα λειτουργικά συστήματα, τα προγράμματα περιήγησης και οι τεχνολογίες υποστήριξης παρέχουν ήδη εγγενώς.
Η χειρότερη μεμονωμένη σελίδα του Overlay B δημιούργησε 48 αιτήσεις, καταναλώνοντας 12,8 δευτερόλεπτα χρόνου δικτύου. Για να κατανοήσουμε το πλαίσιο, το όριο του Core Web Vitals της Google για «κακή» απόδοση στο Largest Contentful Paint είναι 2,5 δευτερόλεπτα. Μόνο το overlay ξεπέρασε αυτό το όριο κατά 5 φορές.
Η Overlay A αφιέρωσε το 75% του χρόνου δικτύου της, που ανήλθε σε 33,9 δευτερόλεπτα, στην ανάλυση συμπεριφοράς – 58 αιτήματα POST παρακολούθησης προς το δικό της τερματικό. Τα αιτήματα CDN που σχετίζονταν με την προσβασιμότητα κατέλαβαν μόνο το 25% του συνολικού χρόνου. Το μεγαλύτερο μέρος του κόστους απόδοσης οφείλεται στη συλλογή δεδομένων από τον προμηθευτή και όχι στη βελτίωση της προσβασιμότητας.
Ισχυρισμός 6: «Οι ιδιοκτήτες ιστοσελίδων θα πρέπει να εφαρμόζουν πιο αποτελεσματικές, ανεξάρτητες και μακροπρόθεσμες στρατηγικές»
Το ενημερωτικό δελτίο προτείνει «την κατάργηση των προσωρινών λύσεων προσβασιμότητας» υπέρ μόνιμων στρατηγικών προσβασιμότητας.
Το εργαλείο παρακολούθησης της μελέτης μας αντιπροσωπεύει ακριβώς αυτή την προσέγγιση: σάρωση με το axe-core, αναφορά προβλημάτων με τυποποιημένους κωδικούς κανόνων και επίπεδα σοβαρότητας, και δυνατότητα στους προγραμματιστές να τα διορθώνουν στον πηγαίο κώδικα. Μηδενική τροποποίηση DOM, μηδενική παρακολούθηση χρηστών, μηδενικός κίνδυνος διακοπής λειτουργίας του ιστότοπου, μηδενικές συγκρούσεις με το PCI DSS. Τα αποτελέσματα σάρωσης που καταγράψαμε έδειξαν βαθμολογίες που κυμαίνονταν από 53,1 έως 100, με συγκεκριμένες λεπτομέρειες παραβιάσεων (αντίθεση χρωμάτων, σειρά επικεφαλίδων, ετικέτα, μοναδικό σημείο αναφοράς) στις οποίες οι προγραμματιστές μπορούν να ανταποκριθούν αμέσως.
Το βασικό μειονέκτημα που αποκαλύπτουν τα δεδομένα μας είναι αρχιτεκτονικής φύσης: τα overlays διατηρούν ένα παράλληλο σύνολο ορισμών διορθώσεων που αντικατοπτρίζει τη δομή DOM του ιστότοπου και παύει να ισχύει σε κάθε νέα ανάπτυξη. Ένα εργαλείο παρακολούθησης σαρώνει ό,τι DOM υπάρχει τη στιγμή της σάρωσης, αναφέρει τα ευρήματά του και ξεκινά από την αρχή στην επόμενη σάρωση. Δεν υπάρχει συσσωρευμένο τεχνικό χρέος, δεν υπάρχουν παρωχημένοι επιλογείς, δεν υπάρχουν ορφανές καταχωρήσεις κειμένου alt και δεν υπάρχει πιθανότητα εφαρμογής λανθασμένης διόρθωσης σε λάθος στοιχείο.
Πέρα από το ενημερωτικό δελτίο: Τι προσθέτουν τα δεδομένα μας
Η έρευνά μας έφερε στο φως ευρήματα που υπερβαίνουν το πεδίο εφαρμογής του ενημερωτικού δελτίου Overlay:
Σύγκρουση με το PCI DSS 4.0: Οι κανόνες διόρθωσης επικάλυψης στοχεύουν ενεργά στοιχεία της σελίδας πληρωμής – καταγράψαμε επιλογείς για #cardNumber, #billingState, κουμπιά πληρωμής και φόρμες ολοκλήρωσης αγοράς. Σύμφωνα με την απαίτηση 6.4.3 του PCI DSS (υποχρεωτική από τον Μάρτιο του 2025), κάθε σενάριο σελίδας πληρωμής απαιτεί τεκμηριωμένη εξουσιοδότηση και επαλήθευση ακεραιότητας. Τα overlay δεν πληρούν αυτή την απαίτηση. Σε έναν όμιλο εταιρειών πολυτελών ειδών, πανομοιότυποι επιλογείς που στοχεύουν στις πληρωμές χρησιμοποιούνται από κοινού σε δύο ιστότοπους εμπορικών σημάτων (96% επικάλυψη κώδικα), διπλασιάζοντας έτσι την έκταση των επιπτώσεων σε περίπτωση παραβίασης της αλυσίδας εφοδιασμού.
Ρυθμοί δειγματοληψίας σάρωσης από 1,7% και κάτω: Ανακαλύψαμε ότι τα δεδομένα POST των αναλυτικών στοιχείων μιας επικάλυψης περιέχουν ένα samplingRate Σύμφωνα με τα στοιχεία, μόνο το 1,7–4,5% των περιόδων σύνδεσης ενεργοποιεί έλεγχο συμμόρφωσης. Το υπόλοιπο 95–98% λαμβάνει διορθώσεις DOM χωρίς καμία επαλήθευση.
Παραβιάσεις του ΓΚΠΔ: Τρία παράθυρα επικάλυψης αποστέλλουν αναγνωριστικά χρηστών, δεδομένα δακτυλικών αποτυπωμάτων συσκευών και αναλυτικά στοιχεία συμπεριφοράς πριν ενεργοποιηθεί οποιοσδήποτε μηχανισμός συγκατάθεσης – αυτόματη μη συμμόρφωση σύμφωνα με την απόφαση του ΔΕΚ στην υπόθεση Planet49. Ένα παράθυρο επικάλυψης αποστέλλει ένα μόνιμο UUID που παραμένει το ίδιο σε κάθε φόρτωση της σελίδας, επιτρέποντας τη δημιουργία πλήρων προφίλ περιήγησης σε όλες τις σελίδες.
Απόρριψη από τις γερμανικές ρυθμιστικές αρχές: Η BFIT-Bund (ο ομοσπονδιακός φορέας εποπτείας της Γερμανίας) απέρριψε επίσημα τη χρήση επιπέδων επικάλυψης για τον έλεγχο συμμόρφωσης, ενώ οι φορείς ελέγχου του BIK αρνούνται να εκδώσουν σφραγίδες συμμόρφωσης σε ιστότοπους που χρησιμοποιούν επιπέδων επικάλυψης. Σύμφωνα με τον γερμανικό νόμο BFSG (μεταφορά της οδηγίας EAA), τα πρόστιμα κυμαίνονται από 10.000 έως 100.000 ευρώ ανά παράβαση.
Εισαγωγή ετικετών σε φόρμες κατά την εκτέλεση που επιδεινώνει τη λειτουργία τους: Ο μηχανισμός διόρθωσης μιας επικάλυψης (110 KB) εκτελεί 24 κανόνες μεταβολής του DOM κατά την εκτέλεση, συμπεριλαμβανομένου ενός χειριστή EmptyControls που προσπαθεί να προσθέσει ετικέτες σε πεδία φόρμας που δεν έχουν ετικέτα. Σε μια ενεργή φόρμα επικοινωνίας με επτά πεδία, ο μηχανισμός εισήγαγε aria-label τιμές που προέρχονται από τον κώδικα HTML name χαρακτηριστικό αντί για τις ορατές ετικέτες – με αποτέλεσμα δύο πεδία να έχουν την ίδια ετικέτα «Όνομα» (από name="first-name" και name="last-name"), τρία πεδία με γενικές ονομασίες τύπων στοιχείων («Πεδίο κειμένου», «Επιλογή ενός στοιχείου», «Περιοχή κειμένου») και δύο που χρησιμοποιούν περιγραφές τύπου επικύρωσης αντί για την πραγματική ορατή ετικέτα. Το αποθηκευμένο στιγμιότυπο DOM επιβεβαιώνει ότι κάθε τροποποιημένο στοιχείο φέρει τον δείκτη του χαρακτηριστικού δεδομένων του συγκεκριμένου προμηθευτή της επικάλυψης. Το αρχικό HTML είχε σωστές ορατές ετικέτες («Όνομα», «Όνομα εταιρείας» κ.λπ.), αλλά δεν περιλάμβαναν for ιδιότητες – μια απλή διόρθωση στον πηγαίο κώδικα που ο μηχανισμός εκτέλεσης της επικάλυψης δεν κατάφερε να αναπαράγει σωστά.
Διόρθωση JSON που έχει μολυνθεί με περιεχόμενο από ξένους τομείς: Το προκατασκευασμένο JSON διόρθωσης ενός overlay για έναν τραπεζικό ιστότοπο περιείχε 7 καταχωρήσεις κειμένου alt – εκ των οποίων μόνο 1 προέρχονταν πράγματι από τον ίδιο τον τομέα της τράπεζας (με κείμενο alt που αποτελείτο από ένα μόνο κενό). Οι υπόλοιπες 6 καταχωρήσεις περιγράφουν εικόνες από εντελώς άσχετους τομείς: ένα πολωνικό εργαλείο ελέγχου προσβασιμότητας (εικονίδια bookmarklet ANDI), ένα κινεζικό API σύγκρισης τιμών (εικονίδια widget συνομιλίας), ένα ρωσικό δίκτυο διαφημιστικών teasers (διαφημιστικό δημιουργικό) και το CDN του προγράμματος περιήγησης της Xiaomi (UI προτροπής μετάφρασης). Ο σαρωτής του overlay είχε καταγράψει αυτά τα στοιχεία κατά τη διάρκεια μιας προηγούμενης περιόδου σύνδεσης, κατά την οποία ο χρήστης που περιηγούνταν είχε ενεργοποιημένες επεκτάσεις προγράμματος περιήγησης τρίτων και εισαγωγές διαφημίσεων – και αποθήκευσε μόνιμα τις περιγραφές που δημιουργήθηκαν από την τεχνητή νοημοσύνη στο αρχείο διόρθωσης της τράπεζας, το οποίο κατεβάζει κάθε επισκέπτης σε κάθε σελίδα. Το JSON είναι προσβάσιμο στο κοινό στο CDN του overlay χωρίς πιστοποίηση.
Οι προειδοποιήσεις του ενημερωτικού δελτίου «Overlay», που συντάχθηκαν από ειδικούς στον τομέα της προσβασιμότητας με βάση την εμπειρία τους, επιβεβαιώνονται πλέον από δεδομένα παραγωγής που συλλέχθηκαν από 14 ενεργούς ιστότοπους ηλεκτρονικού εμπορίου. Κάθε σημαντική διαπίστωση επιβεβαιώνεται – και η πραγματικότητα, σε αρκετούς τομείς, είναι χειρότερη από ό,τι περιγράφει το ενημερωτικό δελτίο.
Ισχυρισμός 7: «Τα overlay υπονομεύουν τις νόμιμες προσπάθειες για την προσβασιμότητα»
Η τεκμηρίωση σχετικά με τις «ψευδείς ισχυρισμούς για τις επικαλύψεις» προειδοποιεί ότι οι επικαλύψεις δημιουργούν μια «ψευδή εικόνα ότι το ζήτημα της προσβασιμότητας έχει επιλυθεί» και είναι «αντίθετες προς τις βασικές αρχές του ADA».
Μια επικάλυψη σαρώνει μόνο το 1,7–4,5% των περιόδων σύνδεσης των επισκεπτών. Οι διαχειριστές των ιστότοπων λαμβάνουν δείκτες συμμόρφωσης με βάση αυτό το περιορισμένο δείγμα, γεγονός που δημιουργεί μια ψευδή αίσθηση συμμόρφωσης, ενώ το 95–98% των περιόδων σύνδεσης δεν ελέγχεται ποτέ. Όταν μια εφαρμογή παραβιάζει τους κανόνες διόρθωσης, το χαμηλό ποσοστό δειγματοληψίας σημαίνει ότι η παρέκκλιση μπορεί να παραμείνει απαρατήρητη για μέρες – κατά τη διάρκεια των οποίων ο διαχειριστής του ιστότοπου πιστεύει ότι τηρεί τους κανόνες.
Το βαθύτερο πρόβλημα είναι ότι τα overlays μετατοπίζουν το νοητικό μοντέλο από το «πρέπει να δημιουργήσουμε προϊόντα προσβάσιμα» στο «εγκαταστήσαμε ένα widget που χειρίζεται την προσβασιμότητα». Τα δεδομένα μας δείχνουν πώς αυτό εκφράζεται στην πράξη: ένας λιανοπωλητής επώνυμων τσαντών διαθέτει 383 κανόνες διόρθωσης στο overlay του – όμως το υποκείμενο HTML εξακολουθεί να παρουσιάζει όλα τα αρχικά προβλήματα προσβασιμότητας. Αν το CDN του προμηθευτή του overlay πέσει εκτός λειτουργίας για 30 λεπτά, όλα τα εμπόδια επανέρχονται αμέσως. Ο ιστότοπος δεν διορθώθηκε ποτέ πραγματικά.
Ισχυρισμός 8: Ανησυχίες σχετικά με την προστασία της ιδιωτικής ζωής και την παρακολούθηση
Αν και δεν αποτελούν το κύριο θέμα του ενημερωτικού δελτίου για τα overlay, έχουν εκφραστεί ανησυχίες σχετικά με την προστασία της ιδιωτικής ζωής από υποστηρικτές των ατόμων με αναπηρία, οι οποίοι επισημαίνουν ότι τα overlay μπορούν να ανιχνεύσουν τη χρήση τεχνολογιών υποβοήθησης.
Τα δεδομένα που συλλέξαμε αποκαλύπτουν δραστηριότητες παρακολούθησης που ξεπερνούν κατά πολύ την ανίχνευση AT.
Επικάλυψη Α: 58 αιτήσεις POST ανάλυσης δεδομένων ανά συνεδρία προς το δικό του τερματικό σημείο, καθεμία από τις οποίες περιέχει ένα αναγνωριστικό συνεδρίας (sid), πλήρης διεύθυνση URL της σελίδας (pg), αναγνωριστικό φόρτωσης σελίδας (plid), την κατηγορία συσκευής και τον τύπο συμβάντος. Το 75% του συνολικού χρόνου δικτύου αφιερώνεται σε αυτές τις κλήσεις παρακολούθησης.
Επικάλυψη Β: Ένα μόνιμο UUID (uid) που αποστέλλεται σε κάθε POST αίτησης – ο ίδιος αναγνωριστικός κωδικός σε όλες τις σελίδες της περιόδου σύνδεσης, επιτρέποντας στον πάροχο να δημιουργήσει ένα πλήρες προφίλ περιήγησης. Ο UUID είναι ο ίδιος – παρατηρήσαμε ότι παρέμεινε αμετάβλητος και στις πέντε σελίδες ενός ιστότοπου τηλεπικοινωνιών.
Επικάλυψη C: USER-BEHAVIOR-ANALYTICS Δεδομένα POST, όπως το domain, η έκδοση του widget και τα συμβάντα αλληλεπίδρασης. Αναγνώριση συσκευής μέσω navigator.userAgent, navigator.userAgentData, και navigator.maxTouchPoints. Τρία localStorage κλειδιά που διατηρούν την κατάσταση μεταξύ των περιόδων σύνδεσης.
Και τα τρία ενεργοποιούν τη λειτουργία παρακολούθησης κατά τη φόρτωση της σελίδας – πριν ενεργοποιηθεί οποιοσδήποτε μηχανισμός συγκατάθεσης. Σύμφωνα με την απόφαση του ΔΕΚ στην υπόθεση Planet49, η μη απαραίτητη παρακολούθηση απαιτεί προηγούμενη ρητή συγκατάθεση. Αυτά τα αναδυόμενα παράθυρα συνιστούν αυτόματη παράβαση του ΓΚΠΔ σε κάθε ιστότοπο που απευθύνεται σε χρήστες της ΕΕ.
Ισχυρισμός 9: «Τα overlays ενέχουν νομικό κίνδυνο»
Στο ενημερωτικό δελτίο επισημαίνεται ότι οι επικαλύψεις δεν μπορούν να «εξαλείψουν τον νομικό κίνδυνο», παρά τις ισχυρισμούς των προμηθευτών.
Το 2024, περισσότερες από 1.023 εταιρείες που χρησιμοποιούσαν εργαλεία προσβασιμότητας (overlay) ενήχθησαν για παραβιάσεις του ADA – το 25% του συνόλου των αγωγών για ψηφιακή προσβασιμότητα εκείνη τη χρονιά. Μόνο τον Φεβρουάριο του 2025, 132 εταιρείες που χρησιμοποιούσαν overlay μήνθηκαν. Η FTC επέβαλε πρόστιμο 1 εκατομμυρίου δολαρίων σε έναν προμηθευτή. Οι ρυθμιστικές αρχές της Γερμανίας έχουν απορρίψει ρητά τα overlay ως μέσο συμμόρφωσης. Ο νομικός κίνδυνος δεν είναι υποθετικός – είναι τεκμηριωμένος, ποσοτικοποιημένος και αυξάνεται.
Η βάση δεδομένων μας με δικαστικές υποθέσεις (8.541 φακέλους υποθέσεων ADA) περιλαμβάνει άμεσες δικαστικές διαμάχες στις οποίες εμπλέκονται προμηθευτές λύσεων επικάλυψης: τρεις υποθέσεις σχετικά με διπλώματα ευρεσιτεχνίας/εμπορικά μυστικά μεταξύ δύο προμηθευτών (2020–2022), μια ομαδική αγωγή από πελάτη κατά ενός προμηθευτή (2024) και μια εν εξελίξει αγωγή κατά άλλου προμηθευτή από μια μικρή επιχείρηση που εναγόθηκε παρά τη χρήση του overlay (2024, αίτηση απόρριψης που απορρίφθηκε από τον δικαστή το 2026).
Το εργαλείο παρακολούθησης δεν έχει ιστορικό δικαστικών διαφορών που να σχετίζονται με προβλήματα προσβασιμότητας – κάτι που είναι λογικό: δεδομένου ότι δεν τροποποιεί το DOM, δεν μπορεί να δημιουργήσει τα εμπόδια που οδηγούν σε αγωγές.
Το κενό στα αποδεικτικά στοιχεία έχει πλέον καλυφθεί
Για χρόνια, το ενημερωτικό δελτίο για τα overlay και οι προειδοποιήσεις της κοινότητας προσβασιμότητας σχετικά με αυτά βασίζονταν στην επαγγελματική εμπειρία, σε αναφορές χρηστών και σε χειροκίνητες δοκιμές. Οι επικριτές μπορούσαν να τα απορρίψουν ως ανεκδοτικά ή μεροληπτικά. Η έρευνά μας καλύπτει αυτό το κενό παρέχοντας την πρώτη βάση τεχνικών στοιχείων μεγάλης κλίμακας: δεδομένα παραγωγής που συλλέχθηκαν από 924 αιτήσεις δικτύου, 579 αρχεία πηγής που εξήχθησαν από 14 ενεργούς ιστότοπους ηλεκτρονικού εμπορίου κατά τη διάρκεια τριών ανεξάρτητων περιόδων καταγραφής, συμπληρωμένα με αποθηκευμένα στιγμιότυπα DOM που διατηρούν τις ακριβείς τροποποιήσεις χρόνου εκτέλεσης που εισάγουν τα overlay στις σελίδες παραγωγής.
Κάθε σημαντική δήλωση που περιλαμβάνεται στο ενημερωτικό δελτίο για το Overlay υποστηρίζεται από τα δεδομένα μας. Ορισμένες δηλώσεις είναι υποτιμημένες σε σχέση με τα ευρήματά μας. Και οι τομείς που δεν καλύπτει το ενημερωτικό δελτίο – συγκρούσεις με το PCI DSS, ποσοστά δειγματοληψίας σαρώσεων, παρακολούθηση πριν από τη συγκατάθεση σύμφωνα με τον GDPR, απόρριψη από τις γερμανικές ρυθμιστικές αρχές – αντιπροσωπεύουν επιπλέον διαστάσεις κινδύνου που η κοινότητα προσβασιμότητας εντόπισε μέσω της εμπειρίας της, αλλά δεν μπορούσε να ποσοτικοποιήσει στο παρελθόν.
Τα στοιχεία βρίσκονται στον κώδικα. Ο κώδικας βρίσκεται στην υποκλαπείσα κίνηση δικτύου. Η κίνηση προέρχεται από ιστότοπους παραγωγής που εξυπηρετούν πραγματικούς πελάτες. Τα ευρήματα μιλούν από μόνα τους.