Çerez Tarayıcınızın Kaçırdıkları: localStorage, IndexedDB ve Fingerprinting (Erişilebilirlik Açısından)

Bir “cookie scanner” (çerez tarayıcı) çalıştırdığınızda çoğu zaman rahat bir nefes alırsınız: “Şu kadar çerez var, süresi bu, sağlayıcı şu.” Ancak modern web’de kullanıcı verisi ve tercihleri yalnızca çerezlerde yaşamıyor. localStorage, sessionStorage, IndexedDB, Cache Storage ve hatta fingerprinting gibi çerez dışı teknikler; hem gizlilik/uyum (KVKK-GDPR) hem de dijital erişilebilirlik açısından ciddi sonuçlar doğurabilir.

Bu yazıda, çerez tarayıcınızın kaçırabileceği bu mekanizmaların neden önemli olduğunu; özellikle WCAG, kapsayıcı tasarım ve erişilebilirlik uyumluluğu perspektifinden nasıl ele alınması gerektiğini anlatacağız.

Cookie scanner neden “eksik” kalır?

Birçok tarayıcı aracı, yalnızca HTTP çerezlerini veya sınırlı ölçüde birinci taraf çerezleri yakalamaya odaklanır. Oysa uygulamalar:

  • Onay durumunu veya kullanıcı tercihlerini çerez yerine localStorage’a yazabilir,
  • Analitik/pazarlama kimliklerini IndexedDB içinde saklayabilir,
  • Çerez onayı olmadan ölçüm yapmak için fingerprinting veya benzeri sinyaller kullanabilir.

Bu “görünmez” depolama ve izleme katmanları, erişilebilirlikte özellikle şu iki yerde problem yaratır: (1) kullanıcı kontrolü ve (2) tutarlı deneyim. Erişilebilirlik yalnızca ekran okuyucu uyumu değil, aynı zamanda insanların arayüzde olup biteni anlayabilmesi ve kontrol edebilmesidir.

localStorage ve sessionStorage: Çerez değil ama “tercih hafızası”

localStorage, tarayıcıda kalıcı anahtar-değer saklar. sessionStorage ise sekme kapandığında silinir. Geliştiriciler çerez banner’ının “kabul/ret” durumunu veya dil/tema tercihlerini burada tutmayı sever; çünkü uygulaması kolaydır.

Erişilebilirlik açısından riskler

  • Onay kontrolünün devre dışı kalması: Banner “kapatıldı” bilgisi localStorage’a yazılıp, gerçek anlamda bir seçenek sunmadan tekrar gösterilmeyebilir. Kullanıcı daha sonra kararını değiştirmek istediğinde (özellikle klavye veya ekran okuyucu kullanıcıları), nereden yönetileceğini bulamayabilir.
  • “Tekrarlayan banner” sorunu: Erişilebilir olmayan bir banner tekrar tekrar çıkıyorsa, kullanıcı içerik tüketemez. Bu durum odak yönetimini bozar ve kullanıcıyı sayfanın üstüne “kilitleyebilir”.
  • Seçimlerin açıklanabilir olmaması: localStorage’a yazılan tercihlerin arayüzde anlaşılır bir dille sunulması gerekir. Aksi halde kullanıcı, hangi seçeneğin aktif olduğunu bilemez.

Çerez onayı arayüzünün kendisi WCAG açısından kritik olduğundan, banner tasarımı için Erişilebilir Çerez Banner’ı Nasıl Tasarlanır? Onay İçin WCAG 2.2 Gereksinimleri rehberindeki klavye erişimi, odak sırası ve isim-rol-değer önerilerini banner’ınızla birlikte storage mantığınıza da uygulayın.

Dizüstü bilgisayarda tarayıcı geliştirici araçlarında storage panelini inceleyen kişi

IndexedDB: Sessiz, büyük ve kalıcı

IndexedDB, tarayıcı içinde büyük veri saklayabilen bir veritabanıdır. SPA (single-page application) uygulamalarda performans için ideal görünür; offline mod, cache, analitik kuyrukları, hatta kimlikleme verileri burada tutulabilir. Çerez tarayıcıları ise çoğu zaman IndexedDB içeriğini raporlamaz ya da yalnızca “kullanılıyor” bilgisinde kalır.

Neden erişilebilirlikle bağlantılı?

  • Durum tutarlılığı: Kullanıcı bir sayfada “izlemeyi reddettim” dediğinde, bu kararın uygulamanın her yerinde tutarlı biçimde uygulanması gerekir. IndexedDB’de başka bir yerde tutulan bir kimlik veya kuyruk, reddetmeye rağmen ölçümün devam etmesine yol açabilir. Bu, kullanıcı kontrolüne zarar verir.
  • Hata ve geri bildirim: Uygulama, IndexedDB’ye yazma/okuma hatasında kullanıcıya erişilebilir geri bildirim vermelidir. “Bir şeyler ters gitti” uyarısı görsel olup ekran okuyucuya duyurulmuyorsa, kullanıcı neden ilerleyemediğini anlayamaz (WCAG 4.1.3, 3.3.1 bağlamında).
  • Eski tercihlerin “takılı kalması”: Kullanıcı erişilebilirlik ayarlarını (metin boyutu, kontrast modu, hareket azaltma) IndexedDB’de saklıyorsa, bu ayarların güncellenebilir ve sıfırlanabilir olması gerekir. Aksi halde kullanıcı yanlış bir ayara kilitlenebilir.

Özellikle onayın yenilenmesi ve kayıt tutma konusu, storage türünden bağımsız bir uyumluluk gerektirir. Bu noktada Çerez Onayı Ne Kadar Sürer? Yenileme Süreleri ve Kayıt Tutma yazısındaki “ne zaman tekrar sormalı” ve “kanıt saklama” yaklaşımını, localStorage/IndexedDB dahil tüm depolama katmanlarına genişletmek iyi bir pratik olur.

Dizüstü bilgisayarda tarayıcı geliştirici araçlarında storage panelini inceleyen kişi

Fingerprinting: Banner görünür, izleme görünmez

Fingerprinting; cihaz, tarayıcı, fontlar, ekran özellikleri, canvas/WebGL çıktıları gibi sinyallerle kullanıcıyı olasılıksal olarak tanımaya çalışır. Çerez olmayabilir; bu yüzden cookie scanner raporunuz “temiz” görünürken, gerçekte ölçüm/kişiselleştirme devam ediyor olabilir.

WCAG ile ilişkisi: “bilgilendirme” ve “kontrol”

WCAG doğrudan “izleme teknikleri”ni yasaklamaz; fakat kullanıcı deneyiminde anlaşılabilirlik ve kontrol edilebilirlik ilkeleriyle kesişir. Kullanıcıya sunulan onay metni erişilebilir değilse veya yanıltıcıysa, kullanıcı bilinçli seçim yapamaz. Bu da kapsayıcı tasarıma aykırıdır: bilişsel engeli olan kullanıcılar, yaşlı kullanıcılar veya düşük okuryazarlık düzeyine sahip kullanıcılar daha çok etkilenir.

Consent Mode v2 ve erişilebilirlik

Ölçümleme altyapılarında (ör. Google) çerezler yerine sinyallerin devreye girmesi, “banner’ı gösterdik, bitti” yaklaşımını yetersiz kılar. Özellikle uyguladığınız modun davranışı; kullanıcı reddettiğinde gerçekten neyin çalıştığıyla ilgilidir. Bu farkı erişilebilirlik perspektifiyle değerlendirmek için Google Consent Mode v2: Basic mi Advanced mi? Fark Neden Önemli içeriğindeki senaryoları kendi ölçüm kurulumunuza uyarlayın.

Dizüstü bilgisayarda tarayıcı geliştirici araçlarında storage panelini inceleyen kişi

“Çerezleri yönet” bağlantısı erişilebilir değilse, reddetmek pratikte imkânsızdır

Storage ve fingerprinting tartışması çoğu zaman teknik ekipler arasında kalır. Oysa kullanıcı açısından kritik soru şudur: “Kararım nereden ve nasıl değiştirilecek?”

  • Kalıcı bir Çerez/İzin Tercihleri bağlantısı sunun (footer iyi bir yer).
  • Bu panelin klavye ile tamamen kullanılabilir olduğundan emin olun (odak tuzağı yok, görünür odak, mantıklı odak sırası).
  • Seçenekleri anlaşılır etiketlerle verin (örn. “Analitik”, “Pazarlama”). “Gerekli” kategorisini açıklayın.
  • Ekran okuyucular için panelin açıldığını/kapatıldığını ve kaydın gerçekleştiğini programatik olarak duyurun (ARIA live region gibi).

Bu yaklaşım, örneğin hizmete erişimin kritik olduğu sektörlerde daha da önemlidir. Kullanıcıların erişilebilirlik özelliklerini net biçimde görmesi gereken uygulamalar için Film Bileti Uygulamaları, Engelliler İçin Erişilebilirlik Özelliklerini Açıkça Belirtmeli yazısındaki “açık beyan ve bulunabilirlik” prensipleri, izin yönetimi arayüzlerine de uyarlanabilir.

Pratik kontrol listesi: Cookie scanner ötesinde neyi test etmelisiniz?

1) Depolama haritası çıkarın

  • Tarayıcı DevTools’ta Application/Storage sekmesini inceleyin: localStorage, sessionStorage, IndexedDB, Cache Storage.
  • Hangi anahtarların hangi amaçla yazıldığını belgelendirin: “onay”, “tercih”, “kimlik”, “ölçüm”.

2) “Reddet” sonrası doğrulama yapın

  • Reddetme sonrası yeni anahtar oluşturuluyor mu?
  • IndexedDB kuyrukları “sonradan gönderilmek üzere” dolmaya devam ediyor mu?
  • Üçüncü taraf istekleri (network) gerçekten duruyor mu?

3) Erişilebilirlik testini izin senaryolarına bağlayın

  • Banner açıkken: klavye ile kapatma, seçim yapma, odak yönetimi.
  • Banner kapandıktan sonra: tercihlere geri dönüş, ayarların okunabilirliği, ekran okuyucu duyuruları.
  • Kontrast, metin ölçekleme, hareket azaltma gibi ayarların “kalıcı” olması ama kullanıcı tarafından sıfırlanabilmesi.

Kapsayıcı uyumluluk: Erişilebilirlik küresel bir ihtiyaç

Veri uygulamaları ve izin tasarımı, farklı bağlamlarda farklı kullanıcı gruplarını etkiler. Düşük bant genişliği, eski cihazlar, farklı diller ve okuryazarlık seviyeleri; “tek tip kullanıcı” varsayımını bozar. Kapsayıcı tasarım yaklaşımını geniş ölçekte ele alan Afrika’nın Dijital Dünyasına Kapsayıcı Yollar yazısındaki bakış açısı, izin metinlerini sadeleştirme ve seçenekleri anlaşılır kılma konusunda da yol göstericidir.

Bu süreci nasıl yönetebilirsiniz?

Çerez tarayıcınızın ötesine geçmek; depolama envanteri, sürekli izleme ve erişilebilir arayüz testlerini birlikte yürütmeyi gerektirir. Burada otomasyon faydalıdır: Corpowid (corpowid.ai), erişilebilirlik denetimleri ve izleme ile WCAG uyumluluğu risklerini erken yakalamanıza yardımcı olur; böylece izin banner’ı/paneli gibi kritik bileşenlerde odak, etiketleme ve etkileşim sorunlarını düzenli olarak takip edebilirsiniz.

Özetle: “Çerez yoksa sorun yok” dönemi bitti. localStorage, IndexedDB ve fingerprinting; kullanıcıların tercihlerinin gerçekten uygulanıp uygulanmadığını belirler. Erişilebilirlik perspektifiyle bakıldığında ise mesele yalnızca teknik uyum değil, kullanıcının anlayabildiği ve kontrol edebildiği bir deneyim sunmaktır. Bu yaklaşımı süreçlerinize entegre etmek için hem teknik envanter hem de düzenli erişilebilirlik kontrollerini birlikte ele alın; gerekiyorsa Corpowid gibi bir platformla denetim ve izlemeyi operasyonel hale getirin.

Corpowid, Gartner tarafından tanınan bir platformdur.

Corpowid, dijital erişilebilirlik alanındaki yenilikçi yaklaşımı ve performansı nedeniyle dünyanın önde gelen araştırma ve danışmanlık şirketlerinden biri olan Gartner tarafından takdir edilmiştir. Bu rozetler, yapay zeka destekli ve kapsayıcı web deneyimleri oluşturma konusundaki kararlılığımızı yansıtmaktadır.

Corpowid hakkında sorularınız mı var?

Bizimle iletişime geçin.

Size en kısa sürede geri dönüş sağlayacağız.