Flash Öldü, Kullanılabilirlik Sorunları Yerinde Duruyor
Flash 2020’nin sonunda resmen kapandı, eklentiyi çalıştıran tarayıcı da kalmadı. Ama ona yöneltilmiş eski kullanılabilirlik eleştirilerini bugün tek tek okuyunca tuhaf bir şey oluyor: maddelerin çoğu hâlâ geçerli, sadece adresi değişmiş. O listeyi modern karşılıklarıyla eşleştirmek, Flash hakkında değil bugünkü arayüzler hakkında bilgi veriyor.
Eleştiri aslında Flash’a değil, bir devralma biçimineydi
Flash’ın suçlandığı şeylerin neredeyse tamamı, tarayıcının bedava verdiği bir davranışın uygulama tarafından üstlenilip yerine daha azının konulmasıydı. Aynı devralma bugün JavaScript ile yapılıyor. Karşılaştırma şöyle duruyor:
| Flash’a yöneltilen şikayet | Bugünkü karşılığı |
|---|---|
| Tarayıcının geri tuşu çalışmıyor | Yönlendirmesi History API’ye bağlanmamış tek sayfa uygulamaları |
| Sayfada bul metni göremiyor | Canvas’a çizilen içerik, sanallaştırılmış uzun listeler |
| Ziyaret edilmiş bağlantı ayırt edilemiyor | href taşımayan, tıklanabilirliği script ile eklenen kartlar |
| Ekran okuyucu içeriği görmüyor | Rolü ve etiketi verilmemiş div yığınları |
| Metin büyütülemiyor | Piksele sabitlenmiş tipografi, yakınlaştırınca dağılan düzen |
Aradaki tek fark önemli olan farktır: Flash’ta bu davranışları geri getirmenin yolu yoktu, bugün var. Yapılmamış olması teknik bir sınır değil, öncelik sorunu.
Peki ya kullanıcı aradığı kelimeyi sayfada bulamıyorsa
Sanallaştırma bunun en net örneği. react-window türü bir çözüm DOM’da yalnızca ekranda görünen satırları tutar, on bin satırlık tabloda kaydırma akıcı hale gelir. Karşılığında Ctrl+F yalnızca o anda görünen yirmi satırda arama yapar. Bu bir hata değil, bilinçli bir takas, ama takas olduğunun farkında olmak gerekiyor.
Ölçüsü basit: kullanıcı bu listede gerçekten arama yapıyor mu? Kendi arama kutunuz varsa ve sorgu sunucuya gidiyorsa takas mantıklı. Liste birkaç yüz satırdaysa sanallaştırmayı tamamen kaldırıp content-visibility: auto ile yetinmek çoğu zaman hem daha ucuz hem de tarayıcının aramasını bozmayan bir çözüm.
Geri tuşu, hâlâ en sık kırılan sözleşme
Rota yönetimini genelde doğrudan History API üzerine kurar, her ekranın kendi adresi olmasını baştan şart koşarım; sonradan eklenen popstate yaması hiçbir projede tam oturmadı. Peki ya modal? Mobilde kullanıcı açılan bir pencereyi kapatmak için sistem geri tuşuna basıyor, dolayısıyla modal da bir durum ve geçmişe yazılması gerekiyor. Peki ya filtreler? Kullanıcı seçtiği filtreyi arkadaşına gönderebilmeli, yani filtre de adreste durmalı. Kural şuraya iniyor: kullanıcı için ayrı bir yer gibi görünen her şey ayrı bir adres olmalı.
Dört dakikalık kontrol
Bu maddelerin hiçbirini ölçmek için araştırma bütçesi gerekmiyor. Arayüzü açın ve sırayla deneyin:
- Fareye dokunmadan, yalnızca sekme tuşuyla ana akışı baştan sona geçin.
- Ekranda gördüğünüz bir kelimeyi Ctrl+F ile aratın.
- Üç ekran ilerleyip geri tuşuna basın, sonra sayfayı yenileyin.
- Tarayıcının yakınlaştırmasını yüzde 200 yapın.
Dördü de birkaç dakika sürüyor ve kullanıcı testinde ortaya çıkacak sorunların iyi bir kısmını daha ilk turda gösteriyor. Flash’ın hikayesinden kalan asıl ders de burada: sorun eklenti olması değildi, tarayıcının kullanıcıya verdiği garantileri devralıp yerine daha azını koymasıydı.