murattunalı.

WCAG 2.2 nedir.

WCAG 2.2, W3C'nin 5 Ekim 2023'te yayımladığı web erişilebilirlik kılavuzudur ve bugün Türkiye dahil çoğu ülkede referans alınan sürümdür.

Adı açılımından daha çok anlam taşıyor: Web Content Accessibility Guidelines. «Guidelines» kelimesi yanıltıcı olabilir — belge bir öneri listesi değil, test edilebilir başarı ölçütlerinden oluşan bir standarttır. Her ölçüt «şu doğruysa geçti, değilse kaldı» diye sınanabilecek biçimde yazılmıştır. Erişilebilirliğin ölçülebilir olmasının sebebi budur.

2.2, 2.1'in yerini almaz — üzerine biner. WCAG 2.1'e uygun bir site 2.2'nin büyük kısmını zaten karşılar; eksik kalan yalnız yeni eklenen ölçütlerdir. Bu geriye dönük uyumluluk bilinçli bir tasarım kararıdır ve sürüm geçişlerini ucuz tutar.

2.1'den 2.2'ye ne değişti

İki yönlü bir değişiklik oldu: dokuz yeni başarı ölçütü eklendi, bir ölçüt kaldırıldı. Kaldırılan 4.1.1 «Ayrıştırma» idi ve kaldırılma gerekçesi öğreticidir — modern tarayıcılar bozuk HTML'i zaten tutarlı biçimde onarıyor, dolayısıyla ölçüt gerçek bir erişilebilirlik sorununu artık temsil etmiyordu. Standart kendi ölü maddesini budadı.

Eklenen dokuz ölçüt üç kümede toplanıyor: odağın görünürlüğü, işaretleme hareketlerinin alternatifi ve bilişsel yükün azaltılması. Üçü de aynı yöne bakıyor — arayüzün klavye ve dokunma kullanıcıları için öngörülebilir olması.

  1. 2.4.11 Odak Gizlenmemiş (Minimum) — AA. Odaklanan öğe yapışkan başlık ya da çerez bandı tarafından tamamen örtülemez.
  2. 2.4.12 Odak Gizlenmemiş (Gelişmiş) — AAA. Aynı kural, kısmi örtülmeye kadar sıkılaştırılmış.
  3. 2.4.13 Odak Görünümü — AAA. Odak göstergesinin kalınlığı ve kontrastı için sayısal taban.
  4. 2.5.7 Sürükleme Hareketleri — AA. Sürükleyerek yapılan her işlemin tek dokunuşlu alternatifi olmalı.
  5. 2.5.8 Hedef Boyutu (Minimum) — AA. Dokunma hedefi en az 24×24 CSS pikseli.
  6. 3.2.6 Tutarlı Yardım — A. Yardım kanalı her sayfada aynı yerde durmalı.
  7. 3.3.7 Yinelenen Giriş — A. Kullanıcıdan aynı bilgiyi aynı akışta iki kez istememelisin.
  8. 3.3.8 Erişilebilir Kimlik Doğrulama (Minimum) — AA. Giriş, bilişsel bir bulmacaya (CAPTCHA, hafıza testi) bağlanamaz.
  9. 3.3.9 Erişilebilir Kimlik Doğrulama (Gelişmiş) — AAA. Aynı kural, nesne tanıma istisnası olmadan.

Bu listede dikkat çeken şey, yeni ölçütlerin çoğunun AA seviyesinde olmasıdır. Yani 2.2'ye geçiş, AA hedefleyen bir kurum için gerçek bir iş kalemi — A hedefleyen için ise yalnızca iki yeni madde (3.2.6 ve 3.3.7) anlamına gelir.

Dokuz ölçütün pratik karşılığı

Yeni ölçütlerin üçü, gerçek sitelerde en sık kırılanlar. Bir arayüzü 2.2'ye taşırken önce bunlara bakmak vakit kazandırır.

2.4.11, yapışkan başlıkların bedelini görünür kılar. Sayfa kaydırıldıkça üstte duran bir başlık, Tab ile aşağı inen kullanıcının odaklandığı öğeyi kolayca örter — kullanıcı bir yere odaklanmıştır ama nereye odaklandığını göremez. Çözüm genelde CSS'te scroll-margin ile hallolur.

2.5.8, dokunma hedefi için ilk kez AA seviyesinde sayısal bir taban getirdi: 24×24 CSS pikseli. Bu, mobil arayüzler için bilinen 44 piksellik tavsiyeden düşüktür — 44 hâlâ AAA'dır (2.5.5). Yani AA'yı geçmek için 24 yeterli, ama 44 hedeflemek hem AAA'yı toplar hem de gerçek parmaklarla daha iyi çalışır.

3.3.8, CAPTCHA'ya doğrudan dokunuyor. Bilişsel bir bulmacayı giriş şartı yapmak artık AA ihlalidir; bulmaca yalnızca alternatifi varsa kullanılabilir. Nesne tanıma ve kişisel içerik tanıma istisnaları AA'da geçerlidir, AAA'da değildir.

Sürüm numarası neden 3.0 değil

W3C paralel olarak WCAG 3.0 üzerinde çalışıyor ve o, 2.x ailesinden köklü biçimde farklı olacak: ikili «geçti/kaldı» yerine puanlı bir model, ve daha geniş bir kapsam. Ama 3.0 uzun yıllar taslak aşamasında kalacak ve yayımlandığında bile 2.2'yi hemen geçersiz kılmayacak.

Bu, bugün karar veren biri için rahatlatıcı bir bilgi: WCAG 2.2'ye yapılan yatırım yakın gelecekte boşa gitmiyor. Türkiye'deki genelgenin de, Avrupa Erişilebilirlik Yasası'nın da referansı 2.x ailesidir.

Nereden okumalı

Standardın kendisi yoğun bir belgedir ve baştan sona okumak için yazılmamıştır. W3C bunun farkında olduğu için üç katmanlı bir yapı sunar ve doğru katmandan girmek zaman kazandırır.

  1. Kılavuzun kendisi — normatif metin. Bir ölçütün tam olarak ne dediğini öğrenmek için.
  2. Understanding belgeleri — her ölçüt için niyet, fayda ve örnek. Bir ölçütün NEDEN var olduğunu anlamak için.
  3. Techniques belgeleri — o ölçütü karşılamanın somut yolları, kod örnekleriyle. Uygulama aşamasında.
  4. Quick Reference (How to Meet WCAG) — seviyeye ve teknolojiye göre filtrelenebilen çalışma listesi. Günlük iş için en kullanışlı giriş.

Pratikte çoğu ekip için doğru akış şudur: Quick Reference'ta AA filtresini aç, kendi teknolojini seç, listeyi kontrol listesi olarak kullan; takıldığın maddede Understanding'e in. Standardı baştan sona okumak neredeyse hiç gerekmez.

Türkiye'de çalışıyorsan ek bir adım daha var: Aile ve Sosyal Hizmetler Bakanlığı'nın yayımladığı kontrol listesi, A seviyesindeki 31 ölçütü 126 değerlendirme sorusuna açar. Kamu işlerinde denetim o listeye göre yapıldığı için, WCAG metniyle birlikte onu da açık tutmak gerekir.

Kimin için: engel türleri ve karşılıkları

WCAG'i madde madde okumak, neyi neden yaptığını unutturabiliyor. Ölçütlerin arkasında somut kullanım durumları var ve bunları bilmek, bir maddeyi «geçmek» ile gerçekten çözmek arasındaki farkı yaratıyor.

  1. Görme — tam görme kaybında ekran okuyucu; az görmede büyütme ve yüksek kontrast; renk körlüğünde renge ek ayırt edici işaret. Alternatif metin, kontrast ve semantik yapı bu grubu ilgilendirir.
  2. İşitme — sesli içeriğe altyazı ve döküm. Video barındıran her sitede doğrudan devreye girer.
  3. Hareket — fare kullanamayan kullanıcı klavyeyle, anahtar erişimiyle ya da göz takibiyle gezinir. Klavye erişimi, odak görünürlüğü ve dokunma hedefi buradan doğar.
  4. Bilişsel — dikkat, hafıza ve okuma farklılıkları. Tutarlı yardım, yinelenen giriş ve erişilebilir kimlik doğrulama ölçütleri 2.2'de tam olarak bu grup için eklendi.
  5. Geçici ve duruma bağlı — kırık kol, güneş altındaki ekran, gürültülü ortam, tek elle telefon. Kalıcı bir engeli olmayan herkesi zaman zaman kapsar.

Son madde erişilebilirliğin en yanlış anlaşılan yanıdır. Yüksek kontrast yalnız az gören için değil, güneşte telefonuna bakan herkes içindir. Altyazı yalnız işitme engelli için değil, toplantıda sessiz video izleyen herkes içindir. Büyük dokunma hedefi yalnız titremesi olan için değil, sarsılan otobüste telefon kullanan herkes içindir.

Erişilebilir tasarım daha az insan için değil, daha çok durum için tasarımdır.

Sık karşılaşılan üç yanlış anlama

WCAG'e yeni bakan ekiplerde tekrar eden birkaç yanlış anlama var. Üçü de projeye gereksiz maliyet ya da yanlış güven olarak dönüyor.

Birincisi: «erişilebilirlik siteyi çirkinleştirir.» Bu, odak halkasını kaldıran ve kontrastı düşüren tasarım alışkanlıklarından doğan bir efsane. WCAG hiçbir yerde belirli bir görsel dil dayatmaz; kontrast oranı, odak görünürlüğü ve hedef boyutu için sayısal tabanlar koyar. O tabanların içinde sonsuz sayıda görsel dil kurulabilir. Zorluk estetik değil, disiplin.

İkincisi: «ARIA ekleyerek erişilebilir yaparız.» ARIA, semantik HTML'in yetmediği yerde kullanılan bir tamamlayıcıdır — yerine geçen değil. Yanlış kullanılan ARIA, hiç kullanılmamasından kötüdür: var olmayan bir rol bildirmek, ekran okuyucuya yalan söylemektir. Kural nettir: doğru HTML öğesi varsa onu kullan, ARIA'yı sonra düşün.

Üçüncüsü: «denetim aracımız yeşil, uygunuz.» Otomatik araçlar WCAG ölçütlerinin yalnız bir bölümünü sınayabilir; geri kalanı insan yargısı gerektirir. Bir görselin alternatif metni VAR mı sorusunu araç sorar; o metnin görseli DOĞRU anlatıp anlatmadığını soramaz. Yüksek skor, sorulmuş soruların cevabıdır.

2.2'ye geçiş: gerçekçi bir plan

WCAG 2.1'e uygun bir siteyi 2.2'ye taşımak genellikle sanılandan küçük bir iştir, çünkü yeni ölçütlerin çoğu zaten iyi uygulama sayılan şeyleri kural hâline getirdi.

  1. Önce envanter — hangi seviyeyi hedefliyorsun? A hedefliyorsan yalnız iki yeni madde var (3.2.6 ve 3.3.7). AA hedefliyorsan beş madde bakman gerek.
  2. Yapışkan başlıkları ölç — 2.4.11 en sık kırılan yeni maddedir. Tab ile sayfayı gez ve odaklanan öğenin başlık altında kalıp kalmadığına bak.
  3. Dokunma hedeflerini tara — 24×24 CSS pikselinin altında kalan tıklanabilir öğeleri listele. Satır içi bağlantılar istisna kapsamında.
  4. Giriş akışını gözden geçir — CAPTCHA ya da hafıza gerektiren bir adım varsa 3.3.8 devreye girer ve alternatif şart olur.
  5. Formu tekrar oku — aynı bilgiyi iki kez isteyen bir akış varsa 3.3.7 ihlali. Otomatik doldurma ya da önceki değerin taşınması çözer.

Bu beş adım, 2.1'den 2.2'ye geçişin pratikte tamamıdır. Sıfırdan başlayan bir proje içinse ayrı bir geçiş kalemi yoktur — doğrudan 2.2'ye göre kurulur ve maliyet farkı sıfırdır. Erişilebilirliğin sonradan değil baştan ele alınmasının en somut faydası budur.

KAYNAKLAR