Deklaracja dostępności
Be Native został zaprojektowany jako środowisko nauki dostępne dla każdego programisty Apple. Nasze wersje na iPhone'a, iPada i Maca budujemy w oparciu o natywne API dostępności SwiftUI, poddajemy je audytowi przy każdym cyklu wydania i publikujemy Etykiety informacji o dostępności Apple na stronie produktu w App Store, aby Użytkownik mógł sprawdzić, co jest obsługiwane, zanim cokolwiek pobierze. W razie napotkania jakiejkolwiek bariery prosimy o kontakt pod adresem info@benative.dev, abyśmy mogli szybko ją usunąć.
Co deklarujemy w App Store
Etykiety informacji o dostępności Apple wskazują, funkcja po funkcji, co aplikacja faktycznie obsługuje. Nasze są opublikowane dla iPhone'a i iPada; etykieta dla Maca została złożona i pojawi się, gdy aplikacja na Maca przejdzie weryfikację. Deklarujemy:
- Obsługiwane na iPhonie, iPadzie i Macu: VoiceOver, Sterowanie głosowe, Ciemny interfejs, Różnicowanie bez samych kolorów, Wystarczający kontrast, Zmniejszenie ruchu i Napisy.
- Obsługiwane na iPhonie i iPadzie: Większy tekst. macOS nie ma odpowiednika Dynamic Type, dlatego ta funkcja nie jest deklarowana dla aplikacji na Maca.
- Nieobsługiwane na żadnej platformie: audiodeskrypcja.
Obsługa dostępności na iPhonie
Aplikacja Be Native na iOS integruje się bezpośrednio z następującymi technologiami wspomagającymi dostępnymi na iPhonie:
VoiceOver
VoiceOver odczytuje elementy na ekranie i udostępnia nawigację za pomocą pokrętła (rotor). Udostępniamy opisowe etykiety, podpowiedzi i własne akcje za pomocą .accessibilityLabel, .accessibilityHint i .accessibilityActions z SwiftUI. Treści dynamiczne, takie jak postęp kursu i elementy sterowania odtwarzaniem, ogłaszają zmiany w czasie rzeczywistym i respektują fokus VoiceOver.
Sterowanie głosowe
Wszystkie elementy interaktywne korzystają z natywnych kontrolek Apple, dzięki czemu automatycznie odbierają polecenia Sterowania głosowego. Przyciski, przełączniki i linki nawigacyjne reagują na wbudowane frazy poleceń i tam, gdzie to potrzebne, obsługują własne etykiety zastępcze.
Większy tekst
Interfejs wykorzystuje Dynamic Type za pomocą stylów tekstu SwiftUI. Treść główna, nagłówki i etykiety interaktywne płynnie skalują się zależnie od preferowanej przez Użytkownika kategorii rozmiaru treści, co zapewnia czytelność materiałów edukacyjnych.
Ciemny interfejs
Be Native obsługuje tryb jasny i ciemny, korzystając z palet kolorów opartych na kolorach semantycznych SwiftUI. Współczynniki kontrastu są testowane w obu wyglądach, a zasoby takie jak ikony i ilustracje dostosowują się do aktywnego motywu.
Różnicowanie bez samych kolorów
Stany takie jak ukończenie, zaznaczenie czy ostrzeżenia korzystają — oprócz koloru — z dodatkowych wskazówek: ikon, podkreśleń lub etykiet tekstowych. Cechy dostępności SwiftUI komunikują zmiany stanu, dzięki czemu osoby z zaburzeniami widzenia barw otrzymują jasną informację zwrotną.
Wystarczający kontrast
Tekst i kluczowe elementy interfejsu utrzymują współczynniki kontrastu WCAG 2.1 AA na wszystkich obsługiwanych tłach. Palety weryfikujemy za pomocą Accessibility Inspector od Apple oraz automatycznych narzędzi do sprawdzania kontrastu na etapie przekazywania projektu do wdrożenia.
Zmniejszenie ruchu
Gdy w systemie włączona jest opcja Ogranicz ruch, zastępujemy przejścia płynnym przenikaniem, usuwamy paralaksę i wyłączamy animacje, które nie są niezbędne, zachowując przy tym informację zwrotną o interakcji.
Napisy
Lekcje wideo zawierają napisy renderowane za pomocą AVFoundation. Napisy są zsynchronizowane w czasie i uwzględniają preferowany przez Użytkownika styl napisów.
Obsługa dostępności na iPadzie
Wersja na iPadOS odzwierciedla zestaw funkcji z iPhone'a, dodając układy wielokolumnowe i skróty klawiszowe. Wszystkie wymienione powyżej funkcje dostępności są w pełni obsługiwane na iPadzie:
- VoiceOver: ulepszone dla układów widoku podzielonego, z jawnie określoną kolejnością pokrętła.
- Sterowanie głosowe: obsługuje konwencje nazewnictwa pasków narzędzi i menu kontekstowych.
- Większy tekst: typografia skaluje się wraz z Dynamic Type w rozszerzonych układach.
- Ciemny interfejs: utrzymuje kontrast i odpowiednie zabarwienie zasobów w środowiskach wieloookienkowych.
- Różnicowanie bez samych kolorów: na większych ekranach pojawiają się dodatkowe symbole, które wzmacniają przekaz.
- Wystarczający kontrast: zweryfikowany w scenariuszach z powiększeniem ekranu i monitorem zewnętrznym.
- Zmniejszenie ruchu: odświeżanie tabel i kolekcji uwzględnia ustawienia ruchu Użytkownika.
- Napisy: pozostają czytelne podczas pracy wielozadaniowej i odtwarzania w trybie obrazu w obrazie.
Obsługa dostępności na Macu
Aplikacja na Maca została zbudowana od podstaw dla macOS, a nie zaadaptowana z iPada, i obsługuje własne technologie wspomagające tej platformy w prawdziwej przestrzeni pracy z wieloma oknami:
- VoiceOver: okna, paski boczne i paski narzędzi udostępniają opisowe etykiety oraz przewidywalną kolejność odczytu. Każde okno można nawigować niezależnie, dzięki czemu lekcję, jej kod źródłowy i notatki Użytkownika można odczytywać osobno.
- Sterowanie głosowe: zbudowane na natywnych kontrolkach AppKit i SwiftUI, dzięki czemu polecenia głosowe i nakładki z numerami działają bez wyjątków.
- Pełny dostęp z klawiatury: każdy element interaktywny jest dostępny z poziomu klawiatury, z widocznym fokusem i standardowymi skrótami macOS.
- Ciemny interfejs: wygląd jasny i ciemny oparte na kolorach semantycznych, zweryfikowane w obu wariantach i w wielu oknach jednocześnie.
- Różnicowanie bez samych kolorów: stany ukończenia, zaznaczenia i ostrzeżenia są wzmacniane symbolami i tekstem, nigdy samym kolorem.
- Wystarczający kontrast: tekst i kluczowe elementy interfejsu spełniają WCAG 2.1 AA, sprawdzane za pomocą Accessibility Inspector oraz na monitorach zewnętrznych.
- Zmniejszenie ruchu: przejścia między oknami i listami zamieniają się w płynne przenikanie, gdy włączona jest odpowiednia opcja systemowa.
- Napisy: zsynchronizowane w czasie napisy w lekcjach wideo, z transkrypcją dostępną obok odtwarzacza.
Większy tekst na Macu. macOS nie oferuje Dynamic Type w taki sposób, jak iOS i iPadOS, dlatego aplikacja na Maca nie deklaruje tej funkcji. Rozmiar tekstu na Macu zależy od ustawień systemu i ekranu, a układ dostosowuje się płynnie, zamiast przycinać treść, gdy te ustawienia się zmieniają.
Nasz audyt dostępności
Be Native przechodzi wewnętrzny audyt dostępności przy każdym cyklu wydania, obejmujący iPhone'a, iPada i Maca. Audyt sprawdza ścieżki nawigacji, zgodność z czytnikami ekranu, kontrast, wrażliwość na ruch oraz alternatywy dla treści multimedialnych. Wykryte problemy są śledzone aż do ich rozwiązania, zanim aktualizacja trafi do Użytkowników, a testy regresyjne zapewniają, że wcześniej naprawione problemy nie powracają.
Ciągłe doskonalenie
Dostępność to nasze stałe zobowiązanie. Jeśli Użytkownik napotka problem, ma propozycję nowej funkcji lub potrzebuje pomocy w korzystaniu z Be Native na dowolnej platformie, prosimy o wiadomość na adres info@benative.dev. Rozpatrzymy zgłoszenie niezwłocznie i będziemy współpracować z Użytkownikiem, aby zapewnić doświadczenie wolne od barier.
