Daha yazı başlığından beni taşlamaya başlayacaklar var belki; ancak bunu da dile getirmek gerekli. Android sistemler veya cihazlardan bahsettiğimizde, erişilebilirliğin lastik duvarları olan bir kutunun içinde sağlandığını
ve ilerlemenin her zaman topyekûn tüm sistem kapsamında değil, belli özellikler düzeyinde olduğunu görürüz. Bu durumu İngilizce olarak saptayan ve ortaya koyanlar var ama birazcık duygusal nedenlerden ötürü bu çok da yüksek sesle dile getirilmez. Biz azıcık arı kovanına çomak sokalım bakalım.
Bu yazı
Android AOSP Paketleri Değerlendirmesi başlıklı makaleye
içerik olarak göbekten bağlıdır. Bu yüzden henüz okumadıysanız söz konusu yazıyı okumalısınız. Orada anlattığım bir şeyleri burada kullanacağım. Esasen bu yazı da o yazının bir parçasıydı; ancak okunabilir ve hızlıca sindirilebilir bir içerik ortaya koymak istediğimden bu iki yazıyı ayırmak gerekti. Oldukça zor oldu diyebilirim çünkü benim kafamda bunlar aslında 2 ayrı fikir değildi en başında. Android erişilebilirliğinin nasıl geliştirilebileceğine dair kafa yormaya başladığım zaman ortaya koyduğum bir işti. Bununla birlikte, her iki yazının yazılması 1,5 yıllık deneyime denk geldi. Neyin olabildiğini ve neyin olamadığını deneyimlemek, bu konuda başarılı örneklerin ne yaptığını görmek ve bunları analiz etmek istedim. Üstelik bununla birlikte elimde başarılı bir Apple örneği, başarı yakalamaya çalışan bir Microsoft, başarısız bir Android ve diğerleri var diye düşünürken Microsoft tam da benim kafamda canlandırdığım işleri yapmaya başladı. Bende bu noktadan sonra “evet” artık yazmanın zamanı geldi dedim.
Önce mevcut durumu inceleyelim
Ortalama 2008 sonu 2009 başına rastlayan zamanlarda, ben değil ama şu an bizzat tanışma şansına eriştiğim abilerim dokunmatik ekranda ekran okuyucu kullanmanın mümkün olduğunu duyduklarını, çok hızlı bir şekilde bunu deneme şansına sahip olduklarını söylerler. O zamanlar ben bu cihazları elde etmek imkanına sahip değildim. İşte bu gerçekten oyun değiştiriyordu. Bu sistemleri tamamen hareketlerimiz ve mimiklerimizle yönetmeye başlamamız gibi devrimsel bir şey. Bu arada takım arkadaşlarımızdan Berivan, bu konuda ortaya koyduğu yüksek lisans tezinden yola çıkarak
Başparmak aşağı: Bir kapsayıcı tasarım hikayesi başlığını taşıyan makalesini paylaşmıştı. Bunu da okumadıysanız onun fikirleri de çok değerlidir.
İnLine Reklamdan sonra.
Tuşlarla hareket etmekten farklı bir şeydi bu. Hatta kimileri için kenar çizgileri olmayan bir sahada oyun oynamak gibi algılandığını söyleyebilirim. Oysa ki nihayetinde dönüştüğü daha fazla tuşa basarak bilgisayar ekranında hareket ettirdiğimiz ekran okuyucu imleçlerinden çok da farklı olmayan bir şey. Teknolojik olarak yeni bir şey değil; ancak yeni bir mekanik sadece. Asıl sorunun ise bu sistemlerin getirdiği dokunmatik ekrandan değil, bu dokunmatik ekran arkasındaki sistemin genişlemesinden patlayacağı çok geç anlaşıldı. Biz bunu 2013’te şiddetli bir biçimde hissetmeye başladık. O da diğer sistemin oyuna dahil olmasıyla oldu.
Hadi Perdeleri Kaldıralım
Apple, Bilmem kaçıncı iOS sürümünde VoiceOver desteğini sunduğunda, iOS daha kapalı bir ekosistemdi. Harici geliştiricilerin AppStore denen yapıya yazılım yükleyebilmesine bile yeni izin verilmişti. Bununla birlikte, geliştirme alanı daha kontrollü bir ortamdı. Hatta daha sıkı kontrollü bir sistemdi. VoiceOver böyle güvenli bir ortamda doğdu ama sunduğu deneyim aslında tüm sistem geneline yönelikti. Dolayısıyla bir iPhone aldığınızda kamera uygulamasını da kullanabiliyordunuz, arkadaşlarınızla iletişimde kalmaya da devam ediyordunuz. AppStore’dan indireceğiniz popüler uygulamaların çoğunun erişilebilirlik sorunu en fazla ana dilinizde yerelleştirilmemesiydi. Bunu sağlayan şey, daha sıkı kontrollü bir ortam olmasıydı.
2012 ve 2013 yılları civarında, Android erişilebilirliği bebek adımlarıyla ilerlemeye başladığında, evet ortada çift tıklanan ve hoparlöründen konuşma gelen bir şeyler vardı. Ancak neredeyse arayüzünün çoğu etiketsiz elementlerden oluşan bir olguyla karşı karşıyaydık. İşte bu noktada sorunun dokunmatik ekranın körler tarafından kullanılabilip kullanılamaması sorunu olmadığını daha net gördük. En azından geçmişe dönük ortaya konan şeyleri incelediğimde ben bunu görüyorum. Erişilebilirlik gerçekten ama gerçekten olmak ve olmamak kadar keskin bir çizgi değil, ne kadar olabildiği ve ne kadar olmadığı kadar geçişli bir saydamlıktır.
İOS kontrollü alt yapının üzerine kurulmuş düzenin uzunca süre ekmeğini yedikten sonra, 10 ve 11 sürümüne kadar rahat yaşadı. Düşünün iOS 5’ten 10’a kadar. İşte bu arada çeşitliliği artırmak için serbest bırakılan kontrol mekanizması daha fazla erişilebilir olmayan uygulama ortaya koymaya başladı. Buna biraz da farklı uygulama geliştirme kütüphanelerinin kullanılabilmesine izin vermek sebep oldu desek çok yanılmamış oluruz. Tek sebep bu olmamakla birlikte, yazılım geliştiricinin kullanıcıya tasarladığı animasyonlar ve diğer şeylerden taviz vermeden daha fazla bilgi sunabileceği bir şeyler gerekiyordu ve Apple, aktif bir şekilde bunları geliştirmeye yoğunlaştı. Daha modern ve gelişmiş bir erişilebilirlik API’i ortaya koydu ve geliştirdiği bazı sistem yeteneklerini yardımcı teknolojiler ile birleştirmeye başladı. İşte bu sistemin içerisinde daha geniş bir ağ örülmesini sağladı. Sadece donanımın erişilebilir olması değil, sistemin kendisinin yardımcı teknoloji ile bütünleşmesini sağladı. Aslında bütünlüğü genişletti diyebiliriz.
Geldiğimiz noktada, kamera ile fotoğrafını çekeceğiniz paketin üstündeki yazıları kör olarak ekran okuyucu ile duyabilir, işitme engelli olarak uzaktaki işaret dili göstergelerine odaklanabilir, etrafınızda duyulan seslerin ne olduğuna dair bildirimler alabilirsiniz. Bu basit bir şey gibi geliyor değil mi? İşte bunu hafife almamalısınız diyeceğim yere geldik.
Android sistemler için erişilebilirliği ele aldığımızda, belki sayısız üreticinin ve sistemin kendisinin açık kaynak kodlu oluşunu öne süreceksiniz ama çalıştırılan bir fonksiyonun 2 cihaz arasındaki tepkisi genelde farklıdır. Bu olasılık denkleme daha fazla cihaz dahil ettiğinizde daha hafifler gibi görünür ama temelde aynıdır. Bu aslında sorunun temeli değil ancak parçalarından bir tanesi. Gerçek anlamda bir erişilebilirlik API geliştirilmeye başladığını Apple’dan daha ileride bir tarihte görürsünüz. Bu API’lar aslen bir ekran okuyucudan daha önemlidir. Ekran okuyuculara her şeyi desteklemek gibi bir görev yüklemeye çalışan görüş günümüzde halen hakimdir ve bu yönde beklentiler dolaylı olarak devam etmektedir; ancak asıl olması gereken sistemin ekran okuyucu denen şeye bilgi vermesi vizyonudur. Bu yöntem günümüz sistemlerinde daha iyi çalışmaktadır. Bundan 2 yıl önce bile donanım kaynaklarının buna yeterli olmadığını söylerdim ama son 2 yıldır yaşanan geliştirmelerin işleri nasıl da değiştirdiğini bir görseniz. Özellikle Arm tabanlı işlemcilerin gelişmesi ve Çok çekirdekli sistemlerin Windows 11 gibi söz konusu işlemcilerde çalışmak için baştan tasarlanmış sistemlerde iş yüklerini doğru dağıtma becerisi sayesinde ne kadar verimli yapılabildiğini görmek beni mutlu ediyor. Eskiden yapay zekâ işlerinin yapıldığı gibi ayrı bir çekirdek tarafından bunun yapılması gibi bir fikrim vardı, son gelişmelerden sonra buna gerek kalmamış gibi görünüyor.
İşte bu yüzden Daha gelişmiş ekran okuyucu gibi bir fonksiyondan ziyade sistem içerisinde topyekûn bir anlayış gerekiyor. Bunun başarılmaya başladığını Web erişilebilirliğinde (WCAG) görürsünüz. Web de çok karmaşık deneyimleri içerir. Biz, bugün Android özelinde konuşurken bu işin bu düzeyde yalnızca Google tarafından ele alındığını görürüz. Hem fonksiyonlar hem de bu fonksiyonları destekleyecek yazılım altyapılarını kuran Google olsa da kendi Pixel cihazlarının güvenli alanında kalmayı tercih ediyor. Lisansladığı Android paketlerinde bu kadar esnek olmadığını görebilirsiniz. Bununla birlikte, Samsung’un da geçmişte kendi ekran okuyucusu ve erişilebilirlik API’ını geliştirip, geliştirmekle de kalmayarak Apple’dakine benzer bir iç içe entegrasyon kurguladığını hatırlayanlarınız vardır. Bu neydi biliyor musunuz? Basılı tutma seçeneklerine atanan fonksiyonların çoğunun otomatik olarak alternatif hareketlerle açılan menüye yerleştirilmesini sağlayan özelliğini geliştiren Samsung’dur. Bu uyanışın işaretlerini Google Lisanslı Android’de daha yeni görüyoruz. Buradan belki her üreticinin kendi erişilebilirlik çözümlerini geliştirmesi görüşünü savunduğumu çıkarabilirsiniz ama kesinlikle hayır. Üreticilerin denediği, sistemin kendisini yardımcı teknoloji ile uyumlu hale getirmesi girişimlerinin ne kadar iyi sonuçlar verdiğini savunuyorum. Belki belli nedenlerden dolayı çoğu devam etmeyen projeler ama Google’ın da aslında bu fikirleri kullandığını görüyoruz. Peki Android için neye ihtiyaç var diyeceksiniz; Gelin bunu incelemeyelim.
Android için bir standartlar ve API bütünlüğüne ihtiyaç var. Üstelik bu entegrasyonun en temel düzeyde bulunmasına. Olay sadece bütün butonları etiketli bir Launcher değil. Ortak parmak hareketleri de değil. Nesnelerin nasıl sunulacağı, benzer ve farklı nesne grupları arasındaki sınırların nasıl belirtileceği, ortak donanım yeteneklerinden nasıl faydalanılacağı ve bu deneyimin nasıl maksimize edilebileceği, odağı bozulan kullanıcının yazılım veya donanım tarafında ortak bileşenlerle nasıl uyarılacağı gibi soru ve sorunları çözen bir standartlar bütünü. Fakat bunu Google tarafından değil, daha ortak bir konsorsiyum tarafından sağlamak gerek. Bunu sağlayacak insan gücü Google da ise Google’ın Android AOSP projesine bu standartların daha fazlasını aktarmasını sağlamak gerek. Örnek olarak iOS ve Windows otomatik sesten altyazı oluşturmak için kullandığı altyapıyı sistemin kendi içine yerleştirirken Google bunu yapmıyor. Çünkü bunu sağlamak için kullanacağı fonksiyon Google’ın ücretli sağladığı servislerinin arasında. Bu her ne kadar böyle bile olsa Android projesine liderlik eder konumda olmak, Açık kaynak kodlu dağıtıma gerektiğinde bu sistemi açık olarak paylaşabilmeyi gerektirmeli. Azıcık Android üzerinde erişilebilirlik açısından yazılım geliştirme eforu harcadıysanız, bazı bilgileri vermenin oldukça zor olduğunu deneyimlemişsinizdir. Kullanacağınız bir uyarı metodu öyle yanlış çalışır ki şaşarsınız. Daha düne kadar Google’ın kamera modülü API olarak paylaşılmamıştı ve OCR motorlarına kamera üzerinden metin yakalatmak çok zordu örneğin. Nihayetinde bu standartların ve API’ların ortaya konması, belki bu standartları uygulayacak babayiğitleri bulmayı gerektirse de ortak bir deneyimi sağlayacaktır. Aksi halde Ekran okuyucunun daha gelişkin olması sadece birkaç versiyon kurtarır.
Günün sonunda, teknolojide erişilebilirliğin nasıl sağlanacağını araştırma ve ortaya koyma anlayışının yavaş yavaş sivil toplum ve akademi tekelinden çıkıp topluluğun dahil olduğu bir işe dönüştüğünde oluşan ilerlemeyi gördük. Bu standartların ortaya konulması ve uygulanmasıyla nasıl atılımlar yaşanabildiğini de gördük. Örneğim WCAG, IOS ve Windows 11 Erişilebilirlik vizyonları. İşte bu kadar büyük atılımların Android üzerinde gerçekleşebilmesi için standartların saptanması ve uygulanması gereklidir. Bu üreticiler üstü bir ortamda olmalı ve daha fazla kişiyi kapsayacak ortak standartlar sisteme dahil edilmelidir.