Otomatik denetimin sınırları.
Otomatik erişilebilirlik araçları WCAG ölçütlerinin yalnız bir bölümünü sınayabilir; geri kalanı insan yargısı gerektirir ve raporda hiç görünmez.
Erişilebilirlik araçlarının en tehlikeli yanı hata yapmaları değil — genelde yapmazlar. Tehlikeli yanı, sormadıkları soruların raporda görünmemesidir. Bir araç otuz kural çalıştırır ve otuzunu da geçersiniz; rapor yeşildir. O raporda, çalıştırılmayan yüz kuralın yokluğuna dair hiçbir iz yoktur.
Sonuç, yaygın ve maliyetli bir yanılgıdır: yüksek skor, erişilebilir site sanılır. Oysa skor yalnızca sorulmuş soruların cevabıdır ve bir denetimin değeri, sorulan sorulardan çok sorulmayanlarda saklıdır.
Araçların gerçekten iyi olduğu şeyler
Bu sayfanın amacı araçları küçümsemek değil. Otomatik denetim, elle yapılması imkânsız olan bir işi saniyeler içinde yapar ve her projede koşmalıdır. İyi olduğu alanlar nettir ve hepsi makine tarafından kesin biçimde cevaplanabilen sorulardır.
- Var mı yok mu soruları — alternatif metin özniteliği var mı, form alanının etiketi var mı, sayfanın dili bildirilmiş mi, belge başlığı var mı.
- Sayısal eşikler — metin kontrastı 4,5:1'in üstünde mi. Renkler belliyse hesap kesindir.
- Yapısal tutarlılık — birden fazla h1 var mı, hiyerarşide atlama var mı, aynı kimlik iki kez kullanılmış mı.
- Geçersiz bildirimler — var olmayan bir rol atanmış mı, bir öznitelik yanlış değer taşıyor mu, kimliğe yapılan atıf boşlukta mı kalıyor.
- Odaklanabilirlik — bir öğe tıklanabilir ama odaklanılamaz mı.
Bu listedeki her madde gerçek kusurları temsil eder ve otomatik denetim onları bulmakta insandan çok daha iyidir. Bir sitede binlerce görsel varsa, alternatifi eksik olanları elle bulmak günler sürer; araç saniyeler içinde listeler. Bu yüzden otomatik denetim, elle denetimin yerine değil ÖNÜNE konur.
Araçların göremediği şeyler
Sınır, sorunun makine tarafından cevaplanabilir olup olmamasında. Aşağıdaki kalemler gerçek erişilebilirlik kusurları üretir ama hiçbiri otomatik olarak güvenilir biçimde tespit edilemez.
- Alternatif metnin DOĞRULUĞU — metin var, ama görseli anlatıyor mu? Dosya adı da bir metindir ve araç onu geçerli sayar.
- Bağlantı metninin anlamlılığı — «Devamını oku» geçerli bir bağlantı metnidir; bağlamdan kopuk anlaşılıp anlaşılmadığını araç bilemez.
- Başlığın gerçekten başlık olması — h2 var, ama altındaki bölümü tanımlıyor mu?
- Metin dışı kontrast — bileşenin SINIRI hangisi sorusu görsel yargı gerektirir; araçların çoğu bu ölçütü sınamaz.
- Odak sırasının mantıklı olması — sıra teknik olarak geçerli olabilir ve yine de kullanıcı için anlamsız olabilir.
- Hata mesajının işe yaraması — mesaj var ve bağlı, ama kullanıcıya ne yapacağını söylüyor mu?
- Klavye sözleşmelerinin doğruluğu — bileşen klavyeyle çalışıyor, ama beklenen tuş davranışını sunuyor mu?
- Hareketin rahatsız ediciliği — animasyon var; vestibüler rahatsızlık üretip üretmediğini ölçen bir kural yoktur.
Bu listenin ortak özelliği dikkat çekicidir: hepsi «var mı» sorusunu geçer, «işe yarıyor mu» sorusunda kalır. Otomatik denetim varlığı ölçer, yeterliliği ölçemez. Ve erişilebilirlik kusurlarının çoğu, eksik bir şeyden değil yetersiz bir şeyden doğar.
Somut bir vaka
Bu sitede yaşanmış ve kayda geçmiş bir örnek, soyut anlatımdan daha öğretici. Bir turda erişilebilirlik tablosu şöyleydi: Lighthouse erişilebilirlik skoru 96, axe ihlali sıfır. Her göstergeye göre iyi durumda bir site.
Aynı anda, sitenin tek dönüşüm yolu olan iletişim formundaki metin alanlarının tek görsel sınırı zemine karşı 1,29:1 kontrast ölçüyordu. WCAG 1.4.11'in eşiği 3:1. Yani form alanının nerede başlayıp nerede bittiği, tam gören bir kullanıcı için bile belirsizdi — ve bu, sitenin en kritik ekranındaydı.
Kök neden aracın hatası değildi. Axe'ın kontrast kuralı METNİ kendi zeminine karşı ölçer ve o ölçümde her şey kusursuzdu. 1.4.11 farklı bir soru sorar — bileşenin sınırını konu alır — ve araç o soruyu sormuyordu. Boşluk, aracın hangi soruyu sorduğunu kontrol etmemekten doğuyordu.
Skor yüksekti çünkü skor o soruyu sormuyordu.
Katmanlı denetim
Doğru yaklaşım, tek bir araca ya da tek bir yönteme güvenmek yerine katman kurmaktır. Her katman farklı bir kusur sınıfını yakalar ve hiçbiri diğerinin yerini tutmaz.
- Katman 1 — otomatik kural motoru. Her dağıtımda, saniyeler içinde. Yakaladığı: eksik öznitelikler, geçersiz bildirimler, sayısal eşik ihlalleri.
- Katman 2 — özel nöbetçiler. Projeye özgü, ölçülmüş kararları donduran testler. Yakaladığı: aracın sormadığı ama sizin bildiğiniz sorular.
- Katman 3 — klavye turu. Elle, on dakika. Yakaladığı: odak sırası, odak görünürlüğü, tuzaklar, çalışmayan bileşenler.
- Katman 4 — ekran okuyucu turu. Elle, kritik ekranlarda. Yakaladığı: anlamlılık, duyurulma, gezinilebilirlik.
- Katman 5 — gerçek kullanıcı. En değerli ve en az yapılanı. Yakaladığı: diğer dördünün hiç düşünmediği her şey.
İkinci katman en çok atlanan ve en yüksek getirili olanıdır. Bir kusur elle bulunduğunda, düzeltmek onu bir kez ortadan kaldırır; o kusuru ölçen bir test yazmak, geri gelmesini kalıcı olarak engeller. Yukarıdaki form vakasında yapılan tam olarak budur — sınır düzeltildi ve bir nöbetçi eklendi.
Genel ders tek cümleyle özetlenebilir: erişilebilirlik denetiminde en tehlikeli durum bir kusurun bulunamaması değil, bir kusurun ARANMAMASIDIR. Yeşil bir rapor bir başlangıçtır, bir sonuç değil.
Skor bir hedef olduğunda
Otomatik denetim skorlarının ikinci bir tehlikesi daha var ve bu, ölçümün kendisiyle değil ölçümün nasıl kullanıldığıyla ilgili. Bir skor kurum içinde hedef hâline geldiğinde — «erişilebilirlik skorumuz 95'in üstünde olmalı» — ekip skoru yükseltmeye çalışır, erişilebilirliği değil.
İkisi çoğu zaman aynı yöne gider ama ayrıştıkları yerde skor kazanır. Bir görsele anlamsız ama var olan bir alternatif metin yazmak skoru yükseltir ve hiçbir kullanıcıya yaramaz. Bir bileşeni erişilebilirlik ağacından gizlemek, o bileşenle ilgili uyarıları susturur ve kullanıcı için durumu kötüleştirir.
Bu yüzden skor bir gösterge olarak kullanılmalı, bir hedef olarak değil. Doğru hedef, kontrol listesinin insan yargısı gerektiren kısmının da yürünmüş olmasıdır — ve bunun bir skoru yoktur, yalnız bir kaydı vardır.
Aracın hangi soruyu sorduğunu bilmek
Bu sayfanın pratik özeti tek bir alışkanlıkta toplanabilir: bir araç bir kuralı geçtiğinde, o kuralın TAM OLARAK neyi ölçtüğüne bakın. Kontrast kuralı metni mi ölçüyor, sınırı da mı? Alternatif metin kuralı varlığı mı denetliyor, içeriği de mi? Odak kuralı odaklanabilirliği mi bakıyor, görünürlüğü de mi?
Bu soruların cevapları araçların belgelerinde yazılıdır ve okumak yarım saat sürer. O yarım saat, raporun neyi kanıtladığını ve neyi kanıtlamadığını kalıcı olarak öğretir — ve bir daha yeşil bir rapora olduğundan fazla anlam yüklenmez.
Ardından ikinci adım gelir: aracın sormadığı ama sizin bildiğiniz soruları kendi testlerinize çevirmek. Projeye özgü her ölçülmüş karar — bir kontrast değeri, bir hedef boyutu, bir akış kuralı — bir nöbetçiye dönüştürülebilir. O nöbetçiler, hiçbir genel aracın kapsamayacağı boşluğu kapatır.