WCAG Başarı Kriterleri · Level AAA
WCAG 3.2.5: İstek Üzerine Değişiklik
WCAG 3.2.5, bağlam değişikliklerinin — sayfa gezinmeleri, form gönderimleri veya içerik güncellemeleri gibi — yalnızca açık kullanıcı eylemiyle başlatılmasını, otomatik olarak tetiklenmemesini gerektirir. Bu, ekran okuyuculara, klavye ile gezinmeye veya bilişsel destek araçlarına güvenen kullanıcıları, gezinme deneyimlerini beklenmedik kesintilerden korur.
Bu Kuralın Anlamı
WCAG 3.2.5 İstek Üzerine Değişiklik, Anlaşılabilirlik ilkesinin altında yer alan Seviye AAA bir ölçüttür. Bağlam değişikliklerinin yalnızca kullanıcı tarafından başlatılması gerektiğini, sistem tarafından otomatik olarak tetiklenmemesi gerektiğini belirtir. “Bağlam değişikliği”, WCAG’de, kullanıcı farkında olmadan, sayfanın tamamını aynı anda göremeyen kullanıcıları şaşırtabilecek, web sayfası içeriğinde büyük bir değişiklik olarak tanımlanır. Buna kullanıcı aracısında (tarayıcı), görünüm alanında (viewport), odakta veya sayfanın anlamını önemli ölçüde değiştiren içerikteki değişiklikler dahildir.
Özellikle, bu ölçüt, açık bir kullanıcı isteği olmadan bağlam değişikliğine neden olan herhangi bir mekanizmayı yasaklar. Bu, 3.2.1 (Odaklanınca) ve 3.2.2’nin (Girdi Üzerine) gerekliliklerini genişleterek, otomatik bağlam değişikliklerinin gerçekleşebileceği diğer tüm senaryoları ele alır — bunlar arasında, ancak bunlarla sınırlı olmamak üzere: otomatik yenilenen sayfalar, otomatik ilerleyen ve sayfadan uzaklaştıran karuseller, kısa gecikmeli meta yönlendirme etiketleri, form alanı tamamlandığında JavaScript ile tetiklenen gezinme ve kullanıcı başlatması olmadan yeni pencere veya sekme açılması yer alır.
Bu ölçüt kapsamında başarılı sayılmak için iki koşuldan biri sağlanmalıdır: ya bağlam değişiklikleri yalnızca açık, kasıtlı kullanıcı eylemiyle (örneğin bir düğme veya bağlantının etkinleştirilmesi gibi) tetiklenir ya da kullanıcıya, gerçekleşmeden önce otomatik bağlam değişikliklerini kapatmasını sağlayan bir mekanizma sunulur. Örneğin, bir sayfa her 30 saniyede bir otomatik yenileniyor ve yeni içeriğe gidiyorsa, bu bir başarısızlıktır — ta ki bu davranışı ilk yenileme gerçekleşmeden önce devre dışı bırakmak için açıkça etiketlenmiş bir kontrol mevcut olana kadar. Sadece sonradan bir uyarı sunmak yeterli değildir.
Bu ölçüt, etkileşimli ve dinamik tüm web içeriğine geniş ölçüde uygulanır. Yaygın etkilenen öğe ve davranışlar şunları içerir: belgedeki <meta http-equiv='refresh'> yönlendirmeleri, zamanlayıcılarla tetiklenen JavaScript window.location veya history.pushState çağrıları, yeni bir URL’ye giden <select> öğeleri üzerindeki onchange olay işleyicileri, otomatik gönderilen formlar, odakla tetiklenen gezinme ve kullanıcı girdisi olmadan otomatik olarak kaydıran, slayt ilerleten veya görünür içerik setini değiştiren herhangi bir bileşen.
Önemli bir resmi istisna: bağlam değişikliği, kullanıcının açıkça ve bilerek yapılandırdığı bir ayara yanıt olarak gerçekleşiyorsa — örneğin, kullanıcının “her dakika otomatik yenile” seçeneğini işaretlediği bir kullanıcı tercih paneli — otomatik davranış, kullanıcı tarafından talep edildiği için kabul edilebilir. Temel ayrım, kullanıcının otomatik davranışı etkinleştirmek için bilinçli ve kasıtlı bir seçim yapıp yapmadığı ile bunu beklenmedik şekilde mi deneyimlediği arasındadır.
Neden Önemlidir
Beklenmedik bağlam değişiklikleri, web üzerindeki en şaşırtıcı deneyimler arasındadır ve etkileri, farklı engelli kullanıcı grupları arasında önemli ölçüde değişir.
Ekran okuyuculara güvenen kör kullanıcılar için ani sayfa gezinmeleri veya içerik yenilemeleri, okuma imlecinin sayfada tamamen farklı bir konuma — ya da en üste — herhangi bir duyuru olmadan sıçramasına neden olabilir. Kullanıcı uzun bir makalenin ortasında bir cümleyi okurken sayfa otomatik olarak yeni bir URL’ye yönlendirilirse, konumlarını tamamen kaybederler ve ne olduğunu veya nasıl toparlanacaklarını anlayamayabilirler. NVDA, JAWS ve VoiceOver gibi ekran okuyucular, sayfa düzeyindeki gezinme olaylarını her zaman tutarlı veya zamanında duyurmaz; bu nedenle kullanıcılar nerede oldukları ve neyin değiştiği konusunda kafaları karışmış halde kalabilir.
Klavye, baş işaretçisi, anahtar cihazı veya göz izleme teknolojisiyle gezinme yapan motor bozukluğu olan kullanıcılar için beklenmedik odak değişiklikleri yıkıcı olabilir. Odak, kullanıcı eylemi olmadan programatik olarak taşınırsa — örneğin, bir form, önceki alan tamamlandığında otomatik olarak bir sonraki alana ilerlediğinde — kullanıcı konumunu kaybedebilir ve sistemin kendisini nereye götürdüğünü bulmak için zahmetli bir şekilde yeniden gezinmek zorunda kalabilir. Girdi cihazları her tuş vuruşu için önemli fiziksel çaba gerektiren kullanıcılar için bu yeniden gezinme gerçek bir erişilebilirlik engeli oluşturur.
Dikkat eksikliği bozuklukları, hafıza bozuklukları veya anksiyete durumları dahil bilişsel engelleri olan kullanıcılar, beklenmedik değişikliklere özellikle duyarlıdır. Otomatik sayfa değişiklikleri, arayüzle ilgili zihinsel modellerini bozar. Talimatları okumak için duraklayan ve ardından sayfanın yeniden yüklendiğini gören bir kullanıcı, muhtemelen kafası karışmış veya huzursuz hissedecektir. Bu kesinti, işlemleri tamamlamayı veya bilgiyi bağımsız olarak tüketmeyi imkansız hale getirebilir.
Vestibüler bozuklukları olan kullanıcılar için, otomatik ilerleyen ve aynı zamanda gezinmeyi tetikleyen bir karusel gibi hızlı ve beklenmedik görsel değişiklikler, baş dönmesi ve mide bulantısı gibi fiziksel semptomlara neden olabilir. Tanı konmuş bir engeli olmayan gören kullanıcılar bile öngörülebilir arayüzlerden fayda sağlar: araştırmalar, beklenmedik gezinmelerin tüm kullanıcı gruplarında hata oranlarını ve görevden vazgeçme oranlarını tutarlı şekilde artırdığını göstermektedir.
Somut bir gerçek dünya senaryosu: Bir Türk e-ticaret sitesi, kullanıcı açılır listede bir değer seçer seçmez ürün filtre formunu otomatik olarak gönderir — yeni bir arama sonuçları URL’sine gider. Yalnızca klavye kullanan ve birden fazla kriter seçmek için filtreler arasında sekmeyle dolaşan bir kullanıcı, ilk seçeneği seçtiğinde sayfanın hemen yeniden yüklendiğini ve filtre panelinin kapandığını görür. Paneli yeniden açmak, başlangıç konumuna yeniden gitmek ve tekrar denemek zorundadır — bu da özelliği tamamen kullanılamaz hale getiren bir döngüye yol açabilir. Dünya Sağlık Örgütü’ne göre, dünya genelinde yaklaşık 1,3 milyar insan bir tür engelle yaşamaktadır ve bu tür kalıplar, onları dijital hizmetlerden orantısız şekilde dışlar.
Kullanılabilirlik ve SEO açısından bakıldığında, otomatik yönlendirme veya otomatik yenileme yapan sayfalar genellikle daha yüksek hemen çıkma oranlarına sahiptir; çünkü beklenmedik davranışla karşılaşan kullanıcılar çoğu zaman sayfayı terk eder. Arama motorları, tarayıcı ve kullanıcı oturumları arasında farklılık gösteren beklenmedik yönlendirmeleri de cezalandırabilir; bu da 3.2.5’e uyumu, iyi teknik SEO hijyeniyle uyumlu hale getirir.
İlgili Axe-core Kuralları
WCAG 3.2.5, manuel test gerektirir; çünkü otomatik araçlar, bir bağlam değişikliğinin kullanıcı tarafından mı başlatıldığını yoksa sistem tarafından otomatik olarak mı tetiklendiğini güvenilir şekilde tespit edemez. Bu ayrım, kullanıcı niyetini ve etkileşim akışını anlamaya bağlıdır ve bu da insan yargısı gerektirir. Hiçbir axe-core kuralı, bu ölçütün kapsamının tamamına doğrudan karşılık gelmez. Ancak, otomatik ve yarı otomatik testler için aşağıdaki hususlar geçerlidir:
- Doğrudan axe-core kuralı yok (manuel test gerekli): Axe-core ve Lighthouse, JavaScript ile tetiklenen gezinmeleri, otomatik yenilenen sayfaları veya otomatik gönderilen formları tespit edemez; çünkü bu davranışlar, statik veya betik tabanlı taramaların çoğaltamayacağı çalışma zamanı koşullarına, zamanlamaya ve kullanıcı etkileşim durumuna bağlıdır. DOM’u tek bir anda gözlemleyen bir tarayıcı,
window.location.href’in bir zamanlayıcıya mı yoksa bir kullanıcı tıklamasına mı yanıt olarak ayarlandığını belirleyemez. - Meta yenileme tespiti (kısmi otomasyon mümkün): Eski bazı axe kuralları ve tarayıcı uzantıları dahil bazı otomatik araçlar, belge başlığında
<meta http-equiv='refresh' content='0; url=...'>etiketinin varlığını işaretleyebilir. Ancak axe-core’un 4.10 sürümünde bunun için özel bir üretim kuralı yoktur. Otomatik bir yönlendirmenin gerçekleşmediğini doğrulamak için sayfa kaynağının ve HTTP başlıklarının manuel incelenmesi gerekir. - Olay dinleyicisi analizi (manuel): Gezinmeyi tetikleyen
<select>öğeleri üzerindekionchangeişleyicilerini tespit etmek, manuel kod incelemesi veya tarayıcı geliştirici araçları kullanılarak ekli olay dinleyicilerinin incelenmesini gerektirir. Otomatik taramalar, işlenmiş DOM’u gözlemler ancak her öğeyle etkileşime girmenin davranışsal sonuçlarını gözlemlemez. - Odak yönetimi doğrulaması (manuel): Odağın, kullanıcı eylemi yerine sistem başlatmalı bir bağlam değişikliği sonucunda beklenmedik şekilde hareket edip etmediğini belirlemek için testçinin sayfayla gerçekten etkileşime girip odak davranışını gerçek zamanlı olarak, klavye ve isteğe bağlı olarak ekran okuyucu kullanarak gözlemlemesi gerekir.
Nasıl Test Edilir
- Otomatik tarama (başlangıç düzeyi): Sayfada yönlendirmeler veya odak yönetimiyle ilgili işaretlenen sorunları yakalamak için axe DevTools veya Lighthouse çalıştırın. Chrome DevTools’ta Lighthouse panelini açın ve bir Erişilebilirlik denetimi çalıştırın. Axe DevTools uzantısında “Analyze”a tıklayın ve sonuçları inceleyin. Otomatik testlerin temiz çıkmasının 3.2.5 ile uyumu doğrulamadığını, manuel testin zorunlu olduğunu unutmayın.
- Meta yenileme için inceleyin: Sayfayı bir tarayıcıda açın, sağ tıklayıp “Sayfa Kaynağını Görüntüle”yi seçin, ardından (Ctrl+F / Cmd+F) ile
http-equivveyarefresharaması yapın. URL içeren veya 72 saatten uzun bir gecikmeye sahip olup bu davranışı devre dışı bırakma mekanizması bulunmayan herhangi bir<meta http-equiv='refresh'>etiketi bir başarısızlık oluşturur. - Sayfa davranışını zaman içinde gözlemleyin: Sayfayı yükleyin ve 2–5 dakika boyunca etkileşime girmeden bekleyin. Herhangi bir otomatik içerik değişikliği, sayfa yeniden yüklemesi, gezinme olayı veya yeni pencere açılması olup olmadığını izleyin. Tarayıcının adres çubuğunu ve sekme başlığını değişiklikler için kontrol edin. Girdiniz olmadan herhangi bir değişiklik olursa, ölçüt muhtemelen karşılanmıyor demektir.
- Form kontrollerini ve açılır listeleri test edin: Yalnızca klavyeyi (Tab, Yön tuşları, Enter, Boşluk) kullanarak her
<select>, radyo düğmesi grubu veya onay kutusuna gidin. Değerleri değiştirin ve bir gönder düğmesini etkinleştirmeden hemen sonra bir gezinme veya büyük bir içerik değişikliği olup olmadığını gözlemleyin. Eğer oluyorsa, bu, siz öğeye ulaşmadan önce bu davranışı devre dışı bırakmak için bir kontrol sağlanmadığı sürece bir başarısızlıktır. - NVDA + Firefox ile test edin: NVDA’yı etkinleştirin (tarama modu için Insert+Space), sayfada yön tuşları ve Tab ile gezin. Form etkileşimlerini tamamlayın ve odak veya okuma konumunun beklenmedik şekilde yer değiştirip değiştirmediğini not edin. Sayfa değişiklikleriyle ilgili duyuruları dinleyin. Ekran okuyucu, sizin açık eyleminiz olmadan yeni bir sayfa duyurursa veya sanal imleç sıfırlanırsa, bu bir bağlam değişikliğine işaret eder.
- VoiceOver + Safari (macOS/iOS) ile test edin: VoiceOver’ı etkinleştirin (Mac’te Cmd+F5), VO+Yön tuşlarıyla gezin. Kontrollerle etkileşime girin ve beklenmedik sayfa duyuruları veya imleç sıfırlamaları olup olmadığını dinleyin. iOS’ta, öğeler arasında kaydırın ve sizin başlatmadığınız erişilebilirlik ağacı yapısındaki ani değişiklikleri not edin.
- JAWS + Chrome ile test edin: JAWS’ı etkinleştirin ve Tab ve Yön tuşlarıyla gezin. Formları gönderin ve dinamik bileşenlerle etkileşime girin. Odak ve sanal imleç konumunun her zaman öngörülebilir ve kontrolünüz altında kaldığını doğrulayın.
- JavaScript kaynağını inceleyin: Chrome DevTools’ta Sources panelini kullanın veya (Ctrl+Shift+F) ile
window.location,location.href,history.pushState, gezinme çağrılarıyla birleştirilmişsetTimeoutveonchangeöznitelikleri gibi kalıpları arayın. Bunlardan herhangi birinin zamanlayıcılar veya sistem olayları tarafından mı yoksa açık kullanıcı eylemleriyle mi tetiklendiğini değerlendirin. - Otomatik ilerleyen karuselleri ve kaydırıcıları kontrol edin: Sayfadaki karuselleri, slayt gösterilerini veya dönen banner’ları belirleyin. Otomatik olarak ilerleyip ilerlemediklerini doğrulayın. Eğer ilerliyorlarsa, otomatik ilerleme sırasında yeni sayfalara bağlantı vererek gezinmeyi de tetikleyip tetiklemediklerini kontrol edin. Yalnızca görünür içeriği değiştiren otomatik ilerleyen karuseller 2.2.2 kapsamında ele alınabilir, ancak aynı zamanda gezinmeye neden oluyorlarsa 3.2.5 kapsamına girerler.
Nasıl Düzeltilir
Meta yenileme yönlendirmesi — Hatalı
<!-- Bu meta etiketi, kullanıcıyı 5 saniye sonra otomatik olarak yönlendirir.
Kullanıcının bu gezinme üzerinde hiçbir kontrolü yoktur. -->
<head>
<meta http-equiv='refresh' content='5; url=https://example.com/new-page'>
</head>
<body>
<p>Kısa süre içinde yönlendirileceksiniz...</p>
</body>
Meta yenileme yönlendirmesi — Doğru
<!-- Otomatik yönlendirmeyi tamamen kaldırın.
Kullanıcının kendi koşullarında etkinleştirebileceği açık bir bağlantı sağlayın.
Bu, kullanıcılara gezinmenin ne zaman gerçekleşeceği üzerinde tam kontrol verir. -->
<head>
<!-- Meta yenileme etiketi yok -->
</head>
<body>
<p>Bu sayfa taşındı. Lütfen yeni konumu ziyaret edin:</p>
<a href='https://example.com/new-page'>Güncellenmiş sayfaya git</a>
</body>
Değiştiğinde otomatik gezinme yapan select öğesi — Hatalı
<!-- onchange işleyicisi, kullanıcı bir değer seçer seçmez hemen gezinme yapar.
Klavye kullanıcılarının, gezinmeden önce seçimlerini gözden geçirme şansı yoktur. -->
<label for='category'>Bir kategori seçin:</label>
<select id='category' onchange='window.location.href = this.value'>
<option value=''>Seçin...</option>
<option value='/electronics'>Elektronik</option>
<option value='/clothing'>Giyim</option>
<option value='/books'>Kitaplar</option>
</select>
Değiştiğinde otomatik gezinme yapan select öğesi — Doğru
<!-- Select öğesi artık değiştiğinde gezinme tetiklemiyor.
Açıkça etiketlenmiş bir düğme, kullanıcılara ne zaman ilerleyecekleri üzerinde açık kontrol sağlar.
Bu desen, klavye ve ekran okuyucu kullanıcıları dahil tüm kullanıcılar için çalışır. -->
<label for='category'>Bir kategori seçin:</label>
<select id='category'>
<option value=''>Seçin...</option>
<option value='/electronics'>Elektronik</option>
<option value='/clothing'>Giyim</option>
<option value='/books'>Kitaplar</option>
</select>
<button type='button' onclick='navigateToCategory()'>Kategoriye git</button>
<script>
function navigateToCategory() {
var select = document.getElementById('category');
if (select.value) {
window.location.href = select.value;
}
}
</script>
Gezinmeyi tetikleyen otomatik ilerleyen karusel — Hatalı
<!-- Bu karusel her 3 saniyede bir otomatik ilerler ve her slayt yeni bir sayfaya bağlantı verir.
Slayt otomatik olarak değiştiğinde, üzerinde herhangi bir yere tıklamak beklenmedik şekilde gezinmeye neden olur. -->
<div id='carousel'>
<a href='/promo/summer'><img src='slide1.jpg' alt='Yaz İndirimi'></a>
</div>
<script>
var slides = ['/promo/summer', '/promo/winter', '/promo/spring'];
var current = 0;
setInterval(function() {
current = (current + 1) % slides.length;
document.querySelector('#carousel a').href = slides[current];
}, 3000);
</script>
Gezinmeyi tetikleyen otomatik ilerleyen karusel — Doğru
<!-- Karusel artık otomatik ilerlemiyor.
Slaytlar arasında ve hedef sayfalara gezinme tamamen kullanıcı kontrolündedir.
Duraklatma ve önceki/sonraki kontrolleri hem 2.2.2 hem de 3.2.5’i karşılar. -->
<div id='carousel' aria-roledescription='carousel' aria-label='Öne çıkan kampanyalar'>
<div role='group' aria-roledescription='slide' aria-label='3 üzerinden 1'>
<a href='/promo/summer'><img src='slide1.jpg' alt='Yaz İndirimi — Şimdi alışveriş yapın'></a>
</div>
</div>
<div>
<button type='button' aria-label='Önceki slayt' onclick='prevSlide()'>‹</button>
<button type='button' aria-label='Sonraki slayt' onclick='nextSlide()'>›</button>
</div>
Yaygın Hatalar
<select>öğelerindewindow.location.hrefgezinmesini hemen tetiklemek içinonchangekullanmak ve ayrı bir gönder düğmesi sağlamamak; bu da klavye kullanıcılarını, seçimlerini onaylamadan önce ani bir sayfa değişikliğine zorlar.- Oturum zaman aşımı yönetimi için
<meta http-equiv='refresh' content='30; url=...'>uygulamak ve kullanıcılara, otomatik yönlendirme gerçekleşmeden önce oturumlarını uzatma veya otomatik yönlendirmeyi devre dışı bırakma mekanizması sunmamak. setTimeoutveyasetIntervalkullanaraklocation.replace()veyahistory.pushState()çağırmak ve URL güncellemeli otomatik kaydetme gibi “kolaylık” özellikleri için bunu yapmak; bu da kullanıcıları beklenmedik şekilde yeni tarayıcı geçmişi durumlarına taşır.- Zamanlayıcı veya otomatik bir süreç tarafından tetiklenen
window.open()kullanarak yeni tarayıcı pencereleri veya sekmeleri açmak ve bunu tıklama veya tuş vuruşu gibi bir kullanıcı hareketi yerine yapmak; bu, birçok tarayıcı tarafından açılır pencere olarak engellenebilir ve her zaman istenmeyen bir bağlam değişikliği oluşturur. oninputile tetiklenen birdebouncefonksiyonu içindeform.submit()kullanarak bir arama veya filtre formunu otomatik göndermek — gecikme olsa bile — ve alternatif bir kontrol mekanizması olarak görünür bir gönder düğmesi sağlamamak.- İlk otomatik gezinme zaten gerçekleştiktan sonra görünen bir “otomatik ilerlemeyi kapat” kontrolü sağlamak yerine, bunu öncesinde sunmamak. Vazgeçme mekanizması, ilk bağlam değişikliği gerçekleşmeden önce kullanıcıların erişimine açık olmalıdır.
- İçerik güncellemelerini bağlam değişiklikleriyle karıştırmak: metni yerinde güncelleyen canlı bölgeler (örneğin bir hisse senedi bandı) bağlam değişikliği değildir ve kabul edilebilir; ancak görünür sayfanın tamamını otomatik olarak değiştirmek veya yeni bir URL’ye gezinmek bir bağlam değişikliğidir ve bu ölçüt kapsamına girer.
- Otomatik gezinmeden önce gösterilen bir uyarı iletişim kutusu sağlamanın ölçütü karşıladığını varsaymak, oysa iletişim kutusunun kendisi otomatik olarak tetiklenmekte ve klavye odağını tuzağa düşürmektedir. Kullanıcı, yalnızca uyarılmamalı, bu davranışı devre dışı bırakabilmelidir.
- Çok adımlı bir formda, form doğrulamasını ve otomatik yönlendirmeyi tetiklemek için
onblurveyaonfocusoutolay işleyicilerini kullanmak ve bunu, kullanıcı açıkça ilerlemek istemeden bir hata sayfasına veya farklı bir adıma yönlendirmek için yapmak. - Tek sayfa uygulaması (SPA) yönlendirmesini, bir bölümde geçirilen süreye veya kaydırma derinliğine göre
history.pushStategüncelleyecek şekilde uygulamak — bazen analitik için kullanılan bir desen — bu, başlatılmamış bir bağlam değişikliği oluşturur ve sanal tamponu URL durumuna bağlı olan ekran okuyucu kullanıcılarını şaşırtabilir.
Türkiye’nin Erişilebilirlik Mevzuatıyla İlişkisi
21 Haziran 2025’te 32933 sayılı Resmî Gazete’de yayımlanan Türkiye Cumhurbaşkanlığı Genelgesi 2025/10, Türkiye’de faaliyet gösteren geniş bir kurum yelpazesi için WCAG 2.2 ile uyumlu zorunlu web erişilebilirliği gereklilikleri getirir. Genelge; kamu kurum ve kuruluşlarını, e-ticaret platformlarını, bankalar ve finans kuruluşlarını, hastaneler ve sağlık hizmeti sağlayıcılarını, 200.000 veya daha fazla abonesi olan telekomünikasyon şirketlerini, seyahat acentelerini, özel ulaşım şirketlerini ve Millî Eğitim Bakanlığı (MEB) tarafından yetkilendirilmiş özel okulları kapsar.
Genelge, kapsanan kuruluşlar için temel standart olarak WCAG 2.2 Seviye AA uyumunu zorunlu kılar. WCAG 3.2.5 İstek Üzerine Değişiklik, Seviye AAA bir ölçüttür ve bu nedenle genelgenin asgari yasal eşiği kapsamında doğrudan zorunlu değildir. Ancak bu, Türk bağlamında önemsiz olduğu anlamına gelmez.
Kapsam dahilindeki çeşitli kuruluş kategorilerinin, 3.2.5 ile AAA uyumunu sağlamaya yönelik güçlü pratik gerekçeleri vardır. Geniş kullanıcı tabanına sahip e-ticaret platformları ve seyahat acenteleri, genellikle dinamik filtreleme, otomatik öneriyle gezinme ve tanıtım karuselleri uygular — bunlar, bu ölçütü ihlal etme olasılığı en yüksek desenlerdir. Beklenmedik gezinmenin hatalara veya güvenlik endişelerine yol açabileceği hassas işlemleri yöneten bankalar ve finansal hizmet sağlayıcıları, tüm bağlam değişikliklerinin açıkça kullanıcı kontrolünde olmasını sağlamaktan önemli ölçüde fayda sağlar. Kullanıcıların savunmasız durumda olabileceği ve öngörülebilir, sakin arayüzlere ihtiyaç duyduğu sağlık portalları, AA temel seviyesini 3.2.5 gibi AAA ölçütleriyle aşmanın hem etik taahhüdü hem de pratik kullanıcı güvenliğini gösterdiği bir diğer kategoridir.
Genelge kapsamında denetime ve raporlamaya tabi kamu kurumları, uyum düzeylerini belgelendirmelidir. Seviye AAA yasal olarak zorunlu olmasa da, buna ulaşmak — ve bunu belgelendirmek — birinci sınıf erişilebilirlik taahhüdünün savunulabilir bir kaydını sağlar. Sosyal güvenlik kurumu (SGK) veya engelli destek hizmetleri gibi, engelli kullanıcıları birincil veya önemli bir hedef kitle olarak gören kuruluşlar için Seviye AAA uyumunu hedeflemek, düzenlemenin ruhuyla özellikle uyumludur.
Gönüllü olarak WCAG 3.2.5’i karşılayan kuruluşlar, aynı zamanda Avrupa Birliği erişilebilirlik uyumu bağlamında kendilerini avantajlı konuma getirir; zira Türkiye’nin AB üye devletleriyle dijital ticaret ilişkileri, giderek daha fazla erişilebilirliği tedarik ve iş ortaklığı kriteri olarak içermektedir. Haziran 2025’te yürürlüğe giren Avrupa Erişilebilirlik Yasası (EAA), AB pazarlarında sunulan ürün ve hizmetler — Avrupa kullanıcılarına hizmet veren Türk şirketleri dahil — için geçerlidir ve 3.2.5 ile tutarlı, kullanıcı kontrollü etkileşim desenlerini güçlü şekilde teşvik eder.
Pratik açıdan bakıldığında, Accsible’ın örtü (overlay) SDK’sını uygulayan Türk geliştirme ekipleri, dinamik olarak enjekte edilen widget’ların, tercih panellerinin veya yardımcı kontrollerin kendilerinin başlatılmamış bağlam değişiklikleri getirmediğinden emin olmalıdır. SDK’nın araç çubuğu ve ayarlar paneli yalnızca açık kullanıcı eylemlerine yanıt olarak açılıp kapanmalı ve örtü aracılığıyla tetiklenen herhangi bir gezinme veya içerik güncellemesi kullanıcı tarafından başlatılmış olmalıdır. Bu, erişilebilirlik çözümünün, kaldırmayı amaçladığı engelleri bizzat yaratmamasını sağlar.
Kaynaklar ve referanslar
- W3C Understanding 3.2.5 Change on Request
- W3C Techniques for 3.2.5 Change on Request
- WebAIM: Keyboard Accessibility
- MDN: Window: location property
- MDN: HTMLElement: change event
- W3C Technique G76: Providing a mechanism to request an update of the content instead of updating automatically
- W3C Technique H76: Using meta refresh to create an instant client-side redirect
