10 puan yazan GN⁺ 2024-03-20 | 3 yorum | WhatsApp'ta paylaş

SwiftUI'da a11y'yi (erişilebilirlik) hızlıca uygulamak

  • SwiftUI uygulamalarında erişilebilirliğin göz ardı edildiği durumlarda, bunu hızlıca düzeltme yöntemleri sunuluyor.
  • Erişilebilirlik, kullanıcıların %16'sının ihtiyaç duyduğu önemli bir özellik olmasına rağmen geliştirme sırasında sık sık ihmal ediliyor.
  • Erişilebilirlik dikkate alınmadan geliştirilen uygulamalar, kullanıcılarda olumsuz bir izlenim bırakabilir.

Uygulamanın erişilebilirliğini denetlemek

  • Erişilebilirliği gerçek cihazlarda test etmek önemli.
  • Denetim Merkezi'ni optimize ederek erişilebilirlik özelliklerini hızlıca uygulayabilecek şekilde ayarlamak öneriliyor.

Metin boyutu denetimi

  • iOS, 12 farklı metin boyutu sunuyor; bunları test ederek uygulamanın her boyuta iyi uyum sağlayıp sağlamadığı kontrol edilmeli.
  • En büyük metin boyutunda bile arayüzün sorunsuz çalışıp çalışmadığını incelemek gerekiyor.

Ekran okuyucu denetimi

  • Ekran okuyucu kullanan kullanıcılar için VoiceOver gibi araçlarla erişilebilirlik kontrol edilmeli.
  • Görsellere erişilebilirlik etiketi eklemek gibi basit düzeltmelerle büyük iyileştirmeler sağlanabilir.

Erişilebilirliği hızlıca uygulamak

  • Sorunlar tespit edildikten sonra, bunları tek tek hızla çözmek gerekiyor.

Kaydırılabilir içerik

  • Metin boyutu büyüdüğünde içeriği bir kaydırma görünümüne genişleterek sorun çözülebilir.
  • a11yScrollView() adlı özel bir görünüm değiştiricisi, yalnızca gerektiğinde içeriği kaydırılabilir hale getiriyor.

Alan açma kod kokusu

  • Spacer() yerine frame() değiştiricisini kullanarak daha güvenilir bir yerleşim oluşturulabilir.

Görsel ve ikon boyutlarını ayarlama

  • @ScaledMetric özellik sarmalayıcısı kullanılarak görsel ve ikonlar, kullanıcının metin boyutuna göre dinamik olarak ayarlanabilir.

İçerik hizalama

  • Kullanıcının metin boyutuna göre içeriği hizalayabilen A11yHStack kullanılıyor.

Ekran okuyucuyu iyileştirme

  • accessibilityLabel, accessibilityElement(children:), accessibilityRepresentation gibi araçlarla ekran okuyucularla uyumluluk artırılabiliyor.

Yerel bileşenleri kullanma

  • Mümkün olduğunca yerel SwiftUI bileşenlerini kullanmak, performansı ve erişilebilirliği iyileştiriyor.

Paydaşları ikna etmek

  • Kurum içinde erişilebilirliğin önemsenmesini sağlamak için nasıl etki yaratılabileceği anlatılıyor.
  • Yasal gereklilikler ve iş faydaları vurgulanarak erişilebilirliğin önemi öne çıkarılıyor.

Sonuç

  • Uygulamadaki erişilebilirlik sorunlarını belirleme ve çözme sürecinin geneli açıklanıyor.
  • Erişilebilirliği iyileştirmek için SwiftUI'nin sunduğu çeşitli araç ve teknikler tanıtılıyor.

GN⁺ görüşü

  • Bu yazı, uygulama geliştiricilere erişilebilirliğin neden önemli olduğunu ve erişilebilirliği fiilen nasıl iyileştirebileceklerini somut biçimde gösterdiği için oldukça faydalı.
  • Erişilebilirlik düşünülmeden geliştirilen uygulamalar kullanıcı deneyimini düşürebilir ve hukuki sorunlara yol açabilir; bu nedenle geliştirme sürecinin en başından itibaren erişilebilirlik hesaba katılmalı.
  • SwiftUI gibi modern framework'ler kullanılırken, performans ve erişilebilirliği aynı anda iyileştirmek için yerel bileşenlerin avantajlarından azami ölçüde yararlanılabilir.
  • Erişilebilirliği geliştirmek için topluluğun sunduğu kütüphane ve araçlardan yararlanmak da iyi bir yöntemdir; bu sayede geliştirme süreci sadeleştirilebilir ve verimlilik artırılabilir.
  • Uygulama erişilebilirliğini iyileştirmek, yalnızca teknik bir mesele değil; aynı zamanda toplumsal sorumluluk ve kapsayıcılığı hayata geçirmektir. Tüm kullanıcıların hizmetlerden eşit şekilde yararlanabilmesi önemlidir.

3 yorum

 
aer0700 2024-03-21

Erişilebilirliği dikkate almak, hizmetime sadık müşteriler yaratmanın bir yolu olabilir gibi görünüyor
Benzer rakip hizmetler bu özelliği desteklemiyorken yalnızca bizim uygulamamız bunu destekliyorsa, müşteriler bizimkini kullanacaktır.

 
godrm 2024-03-20

Aaa bunu Let’s Swift’te de tanıtmak gerekir haha

 
GN⁺ 2024-03-20
Hacker News görüşleri
  • Birinci yorum özeti:

    Geliştirici, yazarın “uygulamayı herkes kullanana kadar durmayacağım” iddiasına katılmıyor. Geliştirdiği tüm uygulamalar, iş gereksinimlerini veya uygulamanın önemli/temel yönlerini feda etmeden mümkün olduğunca çok kullanıcıya uyacak şekilde geliştiriliyor. Aksi halde kullanılamayan bir ürün ortaya çıkacaktır.

  • İkinci yorum özeti:

    Geliştirici, uygulamasını görme engelli kişilerin de kullanabilmesi için elinden gelenin en iyisini yapıyor. Son uygulamasında, engeli olmayan kişiler için de kullanımı kolay olan ve engelli kişilere fayda sağlayan bir yöntem bulmuş. UI’daki herhangi bir öğeye uzun basıldığında o öğeyi açıklayan bir popover gösteren “uzun basma yardımı” özelliğini eklemiş. Bu özellik, erişilebilirlik etiketleri ve ipuçlarını kullanarak iyi çalışıyor.

  • Üçüncü yorum özeti:

    Pratik bir yazıya yönelik olumlu değerlendirme. Erişilebilirlik önemli, ancak uygulamaları varsayılan olarak erişilebilir yapmayan geliştiricileri tembellikle suçlamanın sorunlu olduğu düşünülüyor. Öğrenilmesi gereken çok sayıda kavram, çatışan öncelikler, alışılması gereken araçlar var ve erişilebilirlik için bir iş gerekçesi oluşturmak da gerekiyor. Geliştiricilerin ve tasarımcıların çoğu WCAG kurallarını iyi bilmiyor. Renk kontrastı gereksinimlerini karşılayan marka renkleri bulmak da zor.

  • Dördüncü yorum özeti:

    Geliştirici, Flutter kullanarak erişilebilirliği dikkate almadan bir uygulama yaptı, ancak uygulamayı 6 aydır kullanan görme engelli bir kullanıcıdan şikayet aldı. Flutter, erişilebilirliğin büyük kısmını otomatik olarak ele alıyor ve özel işlevler de görme engelli kullanıcılar için büyük değişiklikler gerektirmeden iyi çalışıyor.

  • Beşinci yorum özeti:

    Erişilebilirlik seçeneklerinin neden görsel olarak önceliklendirilmesi ve hassas, dokunma yoğunluğu yüksek bir ortama ek açıklama olarak yerleştirilmesi gerektiği sorgulanıyor. “Düşük görme” sürümü veya “düşük dokunma hassasiyeti” sürümü gibi, erişilebilirliğe ihtiyaç duyan kullanıcılara özel uyarlanmış bir uygulama sunmak belki daha iyi olabilir.

  • Altıncı yorum özeti:

    Yeni bir uygulama veya startup beklenenden çok daha hızlı başarılı olduğunda hukuki sorumluluk ya da geçiş süresi olup olmadığı soruluyor. Bir fikrin işe yarayıp yaramayacağının belirsiz olduğu aşamada erişilebilirlik büyük bir endişe olmayabilir; California dışındaki yerlerde, beklenmedik başarının ardından erişilebilirlik sorunlarını çözmek için kaynak ayırmanın hukuken büyük bir sorun yaratmayacağı düşünülüyor.

  • Yedinci yorum özeti:

    Geliştirici, felç nedeniyle elektrikli tekerlekli sandalye kullanan babasının deneyimini paylaşıyor. ADA uyumunun önemini fark ettiğini ve geliştiricilerin dünyayı erişilebilir kılmada büyük rol oynayabileceğini vurguluyor. Geliştiricilere, yaptıkları işi mümkün olan herkes için erişilebilir hâle getirmek üzere çaba göstermeleri çağrısında bulunuyor.

  • Sekizinci yorum özeti:

    iPhone’daki “Daha Büyük Metin” ve “Display Zoom” seçeneklerini etkinleştiren bir kullanıcının deneyimi paylaşılıyor. Bunun yalnızca engelli kişilerle ilgili değil, tüm kullanıcıların arayüzü kendi kullanım tarzlarına göre ayarlayabilmesine yönelik esneklik ve kontrol meselesi olduğu belirtiliyor. Bazen ekrana bakmak istemediğinizde ekranın size okunmasını ya da yalnızca belirli bölümlerin okunmasını isteyebilirsiniz.

  • Dokuzuncu yorum özeti:

    Erişilebilirliğe ihtiyaç duyan topluluklar genelde önce talepte bulunup daha sonra dava açma eğiliminde. ADA güçlü bir yasa ve çaba gösterildiğinde genellikle sorun çıkmıyor. 2000 yılı civarında bir avukatın gözetiminde erişilebilirlik rehberi yazılmış ve daha sonra görme engelli kullanıcılarla çalışılarak uygulamalara erişilebilirlik eklenmiş. Biri talepte bulunduğunda yardımcı olursanız, yaptığınız iş için güçlü bir destekçi kazanabilirsiniz.

  • Onuncu yorum özeti:

    Uygulamanın başarılı olmasının nedeni, erişilebilirlik (a11y) veya uluslararasılaştırma (i18n) gibi gereksiz şeylere zaman harcamamış olmasıdır. Tarihsel olarak hiçbir başarılı ürün başlangıçtan itibaren erişilebilirlik ya da uluslararasılaştırmaya odaklanmadı. Artık uygulama başarılı olduğuna göre erişilebilirlik hakkında düşünüp buna kaynak ayırabilirsiniz.