Erişilebilir Tasarımda Tasarımcı Yanlılığını Kırmak
Erişilebilirlik çoğu projede kod bilgisi eksikliğinden değil, tasarımcının kendi alışkanlıklarını evrensel sanmasından aksar. Fareyi kullanan, rengi ayırt eden, ekranı gören biri kendi deneyimini varsayılan kabul ettiğinde ortaya çıkan arayüz, o varsayımın dışında kalan herkesi dışarıda bırakır. Buradaki çözüm iyi niyet değil, tasarımcının kendi kararını dışarıdan denetleyen bir yöntem.
Yanlılık üç yerde birikir
Görsel yanlılık, anlamı yalnızca konumla ve boşlukla taşımaktır. Ekranı gören biri için sağdaki gri kutu ayrı bir bilgi bloğudur; işaretlemede o kutu diğer paragraflardan farklı değilse, ekran okuyucu kullanıcısı için ortada blok diye bir şey yoktur.
İşaretçi yanlılığı daha sinsi. Üzerine gelince açılan menü, sürüklenerek sıralanan liste, çift tıklamayla düzenlenen tablo hücresi. Tasarımcı bunları farede dener, çalıştığını görür, geçer. Aynı akışı klavyeyle denemek beş dakika sürer ve çoğu zaman ilk adımda tıkanır.
Renk yanlılığı ise durumu tek başına renge yüklemektir: kırmızı çerçeveli alan, yeşil rozet, grafikteki üç renkli çizgi. Renk bir bilgiyi desteklerken iyi çalışır, tek başına taşırken çalışmaz.
Üçünün ortak noktası şu: hiçbiri bilgisizlik değil. Tasarımcı kuralı bilir, kendi ekranında sorun görmediği için uygulamayı sıraya koyar, sıra da gelmez.
Tartışmaya kapalı eşikler
Yanlılığı kırmanın en hızlı yolu, zevk meselesi sanılan kararları sayıya bağlamak. WCAG bunları zaten sayı olarak veriyor:
- Normal metinde kontrast oranı en az 4.5:1; büyük metinde (18pt, ya da kalın 14pt) 3:1.
- Buton kenarı, ikon, grafik sınırı gibi metin dışı öğelerde 3:1.
- Klavye odağı her etkileşimli öğede görünür olmalı.
- Hiçbir bilgi yalnızca renkle aktarılmamalı.
Kriterlerin tam listesi WCAG 2.1 kılavuzunda duruyor. Tasarım tartışması "bu gri biraz açık olmuş" seviyesinde kaldığı sürece sürüncemede kalır; ölçüm 3.9:1 çıktığında tartışma biter.
CSS'te outline: none yazmam. Odak halkası tasarımı bozuyorsa onu silmek yerine biçimini değiştiririm; silinenin yerine bir şey koymamak, klavyeyle gezen kullanıcıyı sayfanın ortasında yönsüz bırakır.
Otomatik denetim nerede biter
axe, Lighthouse ve WAVE bir alt metnin varlığını doğrular. alt="resim-1" bu denetimden geçer ve ekran okuyucu kullanıcısına hiçbir şey anlatmaz. Aynı araçlar başlık etiketlerinin sırasını denetler, başlığın altındaki içerikle ilgisini denetleyemez.
Kontrast denetçisi de metin düz bir zemin üzerindeyken güvenilirdir. Fotoğrafın ya da degradenin üstüne oturan beyaz yazıda tek bir arka plan rengi varsayılamadığı için sonuç anlamını yitirir. Otomatik denetim, hataların ucuz ve kesin olan kısmını temizler. Geri kalanı insan işi.
Kendi arayüzünü test edemezsin
Yanlılığın tanımı gereği, onu üreten kişi aynı zamanda onu göremeyen kişidir. Sıra şöyle kurulur: otomatik denetim sürekli entegrasyona girer ve her derlemede çalışır, klavye turu her arayüz değişikliğinde geliştiricinin kendi masasında yapılır, ekran okuyucuyla tam akış denemesi sürüm öncesinde bir kez, gerçek kullanıcıyla test ise yılda birkaç kez ama mutlaka.
Bu dördü birbirinin yerine geçmez. Denetim aracı gerçek kullanıcının bulduğunu bulamaz, gerçek kullanıcı testi de her sprintte tekrarlanamayacak kadar pahalıdır. Ekipler genellikle en ucuz adımı kurar, ikinci en ucuzunu atlar. Halbuki klavye turu maliyeti sıfıra yakın olduğu halde en çok hata yakalayan adım; atlanması, erişilebilirliğe ayrılan zamanın en kötü harcandığı yer.