Testowanie ułatwień dostępu pozwala spojrzeć na aplikację z perspektywy użytkownika i wykryć problemy z jej obsługą, które mogą przeoczyć. Testy ułatwień dostępu mogą ujawnić możliwości ulepszenia aplikacji, tak by były one bardziej wszechstronne i wszechstronne dla wszystkich użytkowników, w tym osób z niepełnosprawnościami.
Aby uzyskać najlepsze wyniki, stosuj wszystkie rozwiązania opisane w tym dokumencie:
- Testowanie ręczne: zacznij korzystać z aplikacji za pomocą usług ułatwień dostępu na Androidzie.
- Testowanie za pomocą narzędzi analitycznych: za pomocą narzędzi możesz odkrywać możliwości ulepszenia ułatwień dostępu w aplikacji.
- Testy automatyczne: włącz testowanie ułatwień dostępu w espresso i Robolectric.
- Testowanie użytkowników: uzyskuj opinie od osób, które korzystają z Twojej aplikacji.
Testowanie ręczne
W ramach testów ręcznych znajdujesz się na miejscu użytkownika Obiekty AccessibilityService
Androida zmieniają sposób prezentowania zawartości aplikacji użytkownikowi oraz sposobu interakcji z nią. Korzystając z usług ułatwień dostępu, możesz z niej korzystać tak samo jak użytkownicy.
TalkBack
TalkBack to czytnik ekranu wbudowany w Androida. Po włączeniu TalkBack użytkownicy mogą korzystać z urządzenia z Androidem bez wyświetlania ekranu. Użytkownicy z wadami wzroku mogą wtedy korzystać z aplikacji przez TalkBack.
Włączanie TalkBack
- Otwórz na urządzeniu aplikację Ustawienia.
- Otwórz Ułatwienia dostępu i wybierz TalkBack.
- U góry ekranu TalkBack naciśnij Włącz/Wyłącz, aby włączyć TalkBack.
- W oknie dialogowym z potwierdzeniem kliknij OK, aby potwierdzić uprawnienia.
Odkryj swoją aplikację z TalkBack
Po włączeniu TalkBack możesz poruszać się po niej na 2 sposoby:
- Nawigacja liniowa:szybko przesuwaj palcem w prawo lub w lewo, aby przechodzić między elementami na ekranie w sekwencji. Kliknij dwukrotnie w dowolnym miejscu, aby wybrać bieżący element ekranu.
- Czytanie przez klikanie: przeciągnij palcem po ekranie, aby usłyszeć, co jest pod Twoim palcem. Kliknij dwukrotnie w dowolnym miejscu, aby wybrać bieżący element.
Aby poruszać się po aplikacji za pomocą TalkBack, wykonaj te czynności:
- Otwórz aplikację.
- Przesuń kolejno każdy element.
Podczas nawigowania sprawdź, czy nie występują te problemy:
- Czy komunikaty głosowe o każdym elemencie odpowiednio informują o jego treści lub przeznaczeniu? Dowiedz się, jak tworzyć przydatne etykiety. * Czy ogłoszenia są zwięzłe czy też niepotrzebnie wyczerpujące?
- Czy jesteś w stanie łatwo wykonać główne przepływy pracy?
- Czy uda Ci się dotrzeć do każdego elementu, przesuwając palcem?
- Jeśli pojawiają się alerty lub inne tymczasowe komunikaty, czy są odczytywane na głos?
Więcej informacji i wskazówek znajdziesz w dokumentacji użytkownika TalkBack.
Opcjonalnie: ustawienia programisty TalkBack
Ustawienia programisty TalkBack ułatwiają testowanie aplikacji z TalkBack.
Aby wyświetlić lub zmienić ustawienia dewelopera, wykonaj te czynności:
- Otwórz na urządzeniu aplikację Ustawienia.
- Otwórz Ułatwienia dostępu i wybierz TalkBack.
Wybierz Ustawienia > Ustawienia zaawansowane > Ustawienia programisty:
- Poziom logu: wybierz VERBOSE (szczegółowy).
- Wyświetl urządzenie wyjściowe mowy: włącz to ustawienie, by wyświetlać komunikaty głosowe TalkBack na ekranie.
Switch Access
Switch Access pozwala użytkownikom na komunikowanie się z urządzeniami z Androidem za pomocą przełącznika, a nie ekranu dotykowego. Jest kilka rodzajów przełączników: urządzenia z technologią wspomagającą, np. firmy AbleNet, urządzenia włączające, RJ Cooper i Tecla*, urządzenia z zewnętrzną klawiaturą oraz przyciski. Usługa ta może być pomocna dla użytkowników z niepełnosprawnością ruchową.
* Google nie poleca tych firm ani ich produktów.
Włącz Switch Access
Jednym ze sposobów skonfigurowania Switch Access jest użycie 2 przełączników. Jeden z nich jest przełącznikiem „Dalej” i przesuwa zaznaczenie po ekranie, a drugi „Wybierz” wybiera aktywny element. W ten sposób z 2 przełącznikami możesz użyć dowolnej pary kluczy sprzętowych.
Aby skonfigurować Switch Access, używając przycisku zmniejszania głośności jako przełącznika „Dalej”, a klawisza zwiększania głośności jako przełącznika „Wybierz”, wykonaj te czynności:
- Upewnij się, że funkcja TalkBack jest wyłączona.
- Otwórz na urządzeniu aplikację Ustawienia.
- Otwórz Ułatwienia dostępu i wybierz Switch Access, a potem Ustawienia.
- Na ekranie Ustawienia Switch Access wyłącz Automatyczne skanowanie.
Używaj przycisku zmniejszania głośności jako przełącznika „Dalej”:
- Kliknij Przypisz klawisze do skanowania > Dalej.
- Gdy otworzy się okno, naciśnij przycisk zmniejszania głośności. W oknie pojawi się klucz KEYCODE_VOLUME_DOWN.
- Kliknij OK, aby potwierdzić i zamknąć okno.
Używaj przycisku zwiększania głośności jako przełącznika „Wybierz”:
- Kliknij Wybierz.
- Gdy otworzy się okno, naciśnij przycisk zwiększania głośności. W oknie pojawi się klucz KEYCODE_VOLUME_UP.
- Kliknij OK, aby potwierdzić i zamknąć okno.
Wróć do ustawień Switch Access, klikając przycisk Wstecz.
Opcjonalnie: jeśli korzystasz z TalkBack 5.1 lub nowszym, możesz włączyć Komunikaty głosowe.
Wróć do głównego ekranu Switch Access, klikając przycisk Wstecz.
U góry ekranu Switch Access naciśnij Wł./Wył., by włączyć Switch Access.
W oknie dialogowym z potwierdzeniem kliknij OK, aby potwierdzić uprawnienia.
Odkryj swoją aplikację za pomocą Switch Access
Aby przeglądać swoją aplikację za pomocą Switch Access, wykonaj te czynności:
- Otwórz aplikację.
- Rozpocznij skanowanie, naciskając przycisk „Dalej” (przycisk zmniejszania głośności).
- Naciskaj „Dalej”, aż dotrzesz do elementu, który chcesz wybrać.
- Wybierz podświetlony element, naciskając przycisk „Wybierz” (przycisk zwiększania głośności).
Podczas nawigowania sprawdź, czy nie występują te problemy:
- Czy jesteś w stanie łatwo wykonać główne przepływy pracy?
- Czy możesz łatwo dodawać i edytować treści, jeśli korzystasz z tekstu lub innych danych wejściowych?
- Czy elementy są wyróżnione tylko wtedy, gdy możesz z nimi wykonać jakąś czynność?
- Czy każdy element jest wyróżniony tylko raz?
- Czy wszystkie funkcje dostępne za pomocą gestów na ekranie dotykowym są też dostępne jako elementy sterujące lub działania niestandardowe w Switch Access?
- Jeśli używasz TalkBack w wersji 5.1 lub nowszej i masz włączone komunikaty głosowe, to czy komunikaty głosowe dotyczące każdego elementu trafnie informują ich zawartość lub przeznaczenie? Dowiedz się, jak tworzyć przydatne etykiety.
Opcjonalnie: użyj wyboru grupy, aby wyświetlić wszystkie elementy, które można skanować
Wybór grupy to metoda nawigacji Switch Access, która umożliwia jednoczesne wyświetlanie wszystkich elementów, które można przeskanować. Ta opcja pozwala szybko sprawdzić, czy podświetlone są właściwe elementy na ekranie.
Aby włączyć wybór grupy, wykonaj te czynności:
- Otwórz na urządzeniu aplikację Ustawienia.
- Otwórz Ułatwienia dostępu i wybierz Switch Access, a potem Ustawienia.
- Na ekranie Ustawienia Switch Access wyłącz Automatyczne skanowanie.
- Kliknij Metoda skanowania > Wybór grupy.
- Kliknij Przypisywanie przełączników do skanowania.
- Dopilnuj, aby tekst w sekcjach Przełącznik wyboru grupy 1 i Przełącznik wyboru grupy 2 zawierał informację, że do każdego z nich jest przypisany przełącznik. Jeśli wykonasz czynności opisane w tym dokumencie, aby włączyć Switch Access, przyciski głośności są już przypisane.
Aby przeglądać swoją aplikację za pomocą funkcji Switch Access za pomocą wyboru grupy, wykonaj te czynności:
Naciśnij klawisz „Wybierz” (przycisk zwiększania głośności), aby podświetlić wszystkie przydatne elementy na bieżącym ekranie. Sprawdź, czy nie występują te problemy:
- Czy wyróżnione są tylko elementy aktywne?
- Czy wszystkie elementy aktywne są wyróżnione?
- Czy gęstość podświetlonych elementów ma sens?
Przejdź na inny ekran, aby usunąć zaznaczenie.
Więcej informacji o tym, jak użytkownicy mogą poruszać się po wyborze grupy, znajdziesz w artykule Wskazówki dotyczące korzystania z funkcji Switch Access.
Voice Access
Voice Access pozwala użytkownikom sterować urządzeniami z Androidem przy użyciu poleceń głosowych. Voice Access jest dostępny na urządzeniach z Androidem 5.0 (poziom interfejsu API 21) lub nowszym. Jeśli chcesz przetestować swoją aplikację z Voice Access, dowiedz się, jak zacząć korzystać z Voice Access.
Testowanie za pomocą narzędzi analitycznych
Narzędzia analityczne mogą pomóc w ulepszeniu ułatwień dostępu, które mogą zostać pominięte podczas ręcznego testowania.
Test interfejsu tworzenia wiadomości
Aktywowanie trybu sprawdzania interfejsu tworzenia
w podglądzie tworzenia wiadomości, aby umożliwić Android Studio automatyczną kontrolę interfejsu tworzenia pod kątem problemów z ułatwieniami dostępu. Android Studio sprawdza, czy interfejs działa na ekranach o różnych rozmiarach. W tym celu wskazuje w panelu problemów problemy takie jak tekst rozciągnięty na dużych ekranach czy niski kontrast kolorów.
![](https://developer.android.com/static/studio/images/design/compose-ui-check-entry.png?authuser=7&hl=pl)
![](https://developer.android.com/static/studio/images/design/compose-ui-check.png?authuser=7&hl=pl)
![](https://developer.android.com/static/studio/images/design/compose-ui-check-colorblind.png?authuser=7&hl=pl)
Accessibility Scanner
Skaner ułatwień dostępu skanuje ekran i sugeruje sposoby poprawy ułatwień dostępu. Accessibility Scanner korzysta z platformy testu ułatwień dostępu i podaje konkretne sugestie na podstawie etykiet treści, klikalnych elementów, kontrastu itd.
Platforma Android Accessibility Test Framework jest zintegrowana z Androidem Studio i ułatwia znajdowanie problemów z ułatwieniami dostępu w układach. Aby otworzyć panel, kliknij przycisk zgłaszania błędów ! w edytorze układu.
Rysunek 1. Prezentacja narzędzia Accessibility Scanner.
Więcej informacji znajdziesz w tych materiałach:
Raport przed opublikowaniem w Google Play
Jeśli rozpowszechniasz aplikację w Google Play, masz dostęp do jej raportu przed opublikowaniem. Google Play generuje taki raport wkrótce po przesłaniu aplikacji do kanału wersji za pomocą Konsoli Google Play. Raport przed opublikowaniem, który jest też dostępny w Konsoli Google Play, zawiera wyniki testów aplikacji przeprowadzonych przez Google Play.
W szczególności Google Play przeprowadza testy ułatwień dostępu za pomocą testu ułatwień dostępu. Wyniki tych testów są w tabeli na karcie Ułatwienia dostępu w raporcie przed opublikowaniem aplikacji.
Możliwości poprawy zostały podzielone na te kategorie w tabeli:
- rozmiary docelowych obszarów kliknięcia,
- Elementy interaktywne w aplikacji, które mają możliwy do zaznaczenia obszar lub rozmiar docelowego elementu dotykowego, który jest mniejszy niż zalecany.
- Niski kontrast
- Przypadki, w których para kolorów użyta przez element tekstowy i tło za nim mają niższy współczynnik kontrastu kolorów niż zalecany.
- Oznaczanie treści etykietami
- Elementy interfejsu, które nie mają etykiety opisującej przeznaczenie elementów.
- Implementacja
- Atrybuty przypisane do elementów interfejsu, które utrudniają usługom ułatwień dostępu systemowi prawidłową interpretację elementów.
Może to być na przykład zdefiniowanie opisu edytowalnej etykiety
View
oraz użycie kolejności przechodzenia elementu, który nie pasuje do logicznego rozmieszczenia elementów.
Raport przed opublikowaniem zawiera migawki aplikacji, które znajdują się poniżej tabeli. To najlepsze sposoby na poprawę ułatwień dostępu w każdej kategorii aplikacji. Kliknij zrzut ekranu, aby wyświetlić więcej szczegółów, w tym sugerowany ulepszenie oraz pełniejszą listę miejsc w aplikacji, w których możesz wprowadzić te same ulepszenia.
Rysunek 2 przedstawia przykład tabeli na karcie Ułatwienia dostępu w raporcie przed opublikowaniem w Google Play. Rysunek zawiera też jeden ze zrzutów aplikacji, pokazujący, że rozmiar docelowego elementu dotykowego dla przycisku Dalej jest mniejszy niż zalecany.
Wyświetlający Automator UI
uiautomatorviewer
to wygodny interfejs GUI, który pozwala skanować i analizować komponenty UI wyświetlane obecnie na urządzeniu z Androidem. Możesz użyć narzędzia UI Automator, by zbadać hierarchię układu i wyświetlić właściwości komponentów UI widocznych na pierwszym planie urządzenia. Te informacje umożliwiają tworzenie bardziej szczegółowych testów, np. przez utworzenie selektora interfejsu, który pasuje do określonej widocznej właściwości. Narzędzie znajduje się w katalogu tools
pakietu Android SDK.
To narzędzie przydaje się do debugowania problemów wykrytych za pomocą innych metod testowania. Jeśli na przykład testy ręczne wykażą, że w wyświetlonym materiale brakuje wymaganego tekstu odczytywanego na głos lub gdy trzeba skupić się na danym wyświetleniu, możesz użyć tego narzędzia, aby znaleźć źródło problemu.
Więcej informacji o przeglądarce Automator interfejsu znajdziesz w artykule Pisanie automatycznych testów za pomocą Automatora UI.
Liniowa
Android Studio wyświetla ostrzeżenia o lintach w przypadku różnych problemów z ułatwieniami dostępu i podaje linki do odpowiednich miejsc w kodzie źródłowym. W poniższym przykładzie obraz nie ma atrybutu contentDescription
. W przypadku braku opisu treści pojawi się ten komunikat:
[Accessibility] Missing 'contentDescription' attribute on image
Rysunek 3 przedstawia przykład tego komunikatu w Android Studio:
contentDescription
.Testy automatyczne
Platforma Androida obsługuje kilka platform testowych, takich jak Espresso, które umożliwia tworzenie i przeprowadzanie automatycznych testów oceniających ułatwienia dostępu w aplikacji.
Espresso
Espresso to biblioteka do testowania Androida, która ułatwia testowanie interfejsu. Pozwala wchodzić w interakcje z testowanymi komponentami interfejsu w aplikacji i twierdzić, że występują pewne zachowania lub są spełnione określone warunki.
Aby zobaczyć film z omówieniem testowania ułatwień dostępu za pomocą Espresso, obejrzyj ten film (od 31:54 do 34:19): Projektowanie i testowanie promujące integrację społeczną: Zwiększanie dostępności aplikacji – Google I/O 2016.
W tej sekcji opisaliśmy, jak sprawdzać ułatwienia dostępu przy użyciu espresso.
Włącz sprawdzanie
Możesz włączyć i skonfigurować testowanie ułatwień dostępu za pomocą klasy AccessibilityChecks
:
Kotlin
import androidx.test.espresso.accessibility.AccessibilityChecks @RunWith(AndroidJUnit4::class) @LargeTest class MyWelcomeWorkflowIntegrationTest { init { AccessibilityChecks.enable() } }
Java
import androidx.test.espresso.accessibility.AccessibilityChecks; @RunWith(AndroidJUnit4.class) @LargeTest public class MyWelcomeWorkflowIntegrationTest { @BeforeClass public void enableAccessibilityChecks() { AccessibilityChecks.enable(); } }
Domyślnie testy są przeprowadzane podczas wykonywania dowolnego działania związanego z wyświetlaniem zdefiniowanego w ViewActions
. Każde sprawdzanie obejmuje widok, w którym wykonywane jest działanie, a także wszystkie widoki podrzędne. Podczas każdego sprawdzania możesz ocenić całą hierarchię widoków ekranu, przekazując true
do setRunChecksFromRootView()
, jak pokazano w tym fragmencie kodu:
Kotlin
AccessibilityChecks.enable().setRunChecksFromRootView(true)
Java
AccessibilityChecks.enable().setRunChecksFromRootView(true);
Pomiń podzbiory wyników
Gdy Espresso sprawdzi ułatwienia dostępu w Twojej aplikacji, może pojawić się kilka możliwości poprawy ułatwień dostępu, które nie będą od razu działać. Jeśli chcesz, by testy espresso nie kończyły się ciągłym niepowodzeniem z powodu takich wyników, możesz je tymczasowo zignorować. Test ułatwień dostępu (ATF) udostępnia tę funkcję za pomocą metody setSuppressingResultMatcher()
, która powoduje, że Espresso pomija wszystkie wyniki, które pasują do danego wyrażenia dopasowania.
Jeśli wprowadzasz w aplikacji zmiany dotyczące jednego z aspektów ułatwień dostępu, warto, aby aplikacja Espresso wyświetlała wyniki dotyczące jak największej liczby innych aspektów ułatwień dostępu. Z tego powodu najlepiej unikać tylko konkretnych znanych możliwości poprawy.
Gdy tymczasowo pomijasz wyniki z testów ułatwień dostępu, którymi planujesz zająć się później, pamiętaj, aby przypadkowo nie pomijać podobnych wyników. Z tego powodu należy używać dopasowań o wąskim zakresie. Aby to zrobić, wybierz dopasowanie, tak aby Espresso pomijał dany wynik tylko wtedy, gdy spełnia każdy z tych warunków ułatwień dostępu:
- Testy ułatwień dostępu określonego typu, np. sprawdzające rozmiar docelowych elementów dotykowych.
- Mechanizmy kontroli ułatwień dostępu oceniają określony element interfejsu, np. przycisk.
W części strony widocznej na ekranie definiuje kilka dopasowań
pomagających wskazać, które wyniki mają być wyświetlane w teście espresso. Poniższy przykład pomija wyniki sprawdzania kontrastu kolorów pojedynczego elementu TextView
. Identyfikator elementu to countTV
.
Kotlin
AccessibilityChecks.enable().apply { setSuppressingResultMatcher( allOf( matchesCheck(TextContrastCheck::class.java), matchesViews(withId(R.id.countTV)) ) ) }
Java
AccessibilityValidator myChecksValidator = AccessibilityChecks.enable() .setSuppressingResultMatcher( allOf( matchesCheck(TextContrastCheck.class), matchesViews(withId(R.id.countTV))));
Testowanie przez użytkowników
Tak jak w przypadku innych metod testowania opisanych w tym przewodniku, testowanie przez użytkowników może dostarczyć Ci konkretnych i cennych informacji o łatwości obsługi Twojej aplikacji.
Aby znaleźć użytkowników, którzy mogą testować Twoją aplikację, użyj tych metod:
- Skontaktuj się z lokalnymi organizacjami, uczelniami wyższymi lub uniwersytetami, które organizują szkolenia dla osób z niepełnosprawnościami.
- Zapytaj w kręgu znajomych. Do pomocy mogą się przydać osoby z niepełnosprawnościami.
- Zapytaj użytkownika usługi testowej, np. usertesting.com, o to, czy może przetestować Twoją aplikację i uwzględnić użytkowników z niepełnosprawnościami.
- Dołącz do forum poświęconego ułatwieniom dostępu, np. na forum Accessible, i poproś ochotników, aby wypróbowali Twoją aplikację.
Więcej wskazówek znajdziesz w sekcji dotyczącej testowania przez użytkowników w tym filmie (od 31:10 do 44:51): Za kulisami: co nowego w ułatwieniach dostępu na Androidzie – Google I/O 2016.