Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na tej stronie opisano sposób używania interfejsów API ułatwień dostępu systemu Android do tworzenia aplikacji zgodnie z listą kontrolną ułatwień dostępu. Zapoznaj się z stronami ułatwień dostępu systemu iOS i ułatwień dostępu systemu OS X dla innych interfejsów API platformy.
Opisywanie elementów interfejsu użytkownika
System Android udostępnia właściwość używaną ContentDescription przez interfejsy API odczytu ekranu w celu zapewnienia dostępnego opisu celu kontrolki.
Opis zawartości można ustawić w języku C# lub w pliku układu AXML.
C#
Opis można ustawić w kodzie na dowolny ciąg (lub zasób ciągu):
saveButton.ContentDescription = "Save data";
Układ AXML
W układach XML użyj atrybutu android:contentDescription :
<ImageButton
android:id=@+id/saveButton"
android:src="@drawable/save_image"
android:contentDescription="Save data" />
Używanie wskazówki dla kontrolki TextView
W przypadku EditText danych wejściowych i TextView sterujących danymi użyj Hint właściwości , aby podać opis oczekiwanych danych wejściowych ContentDescription(zamiast ).
Po wprowadzeniu tekstu sam tekst będzie "odczytywany" zamiast wskazówki.
C#
Hint Ustaw właściwość w kodzie:
someText.Hint = "Enter some text"; // displays (and is "read") when control is empty
Układ AXML
W plikach układu XML użyj atrybutu android:hint :
<EditText
android:id="@+id/someText"
android:hint="Enter some text" />
EtykietaDo łączy pola wejściowe z etykietami
Aby skojarzyć etykietę z kontrolką wprowadzania danych, użyj LabelFor właściwości do
C#
W języku C#ustaw LabelFor właściwość na identyfikator zasobu kontrolki, którą opisuje ta zawartość (zazwyczaj ta właściwość jest ustawiona na etykiecie i odwołuje się do innej kontrolki wejściowej):
EditText edit = FindViewById<EditText> (Resource.Id.editFirstName);
TextView tv = FindViewById<TextView> (Resource.Id.labelFirstName);
tv.LabelFor = Resource.Id.editFirstName;
Układ AXML
W układzie XML użyj android:labelFor właściwości , aby odwołać się do identyfikatora innej kontrolki:
<TextView
android:id="@+id/labelFirstName"
android:hint="Enter some text"
android:labelFor="@+id/editFirstName" />
<EditText
android:id="@+id/editFirstName"
android:hint="Enter some text" />
Ogłaszanie ułatwień dostępu
AnnounceForAccessibility Użyj metody w dowolnej kontrolce widoku, aby przekazać użytkownikom zmianę zdarzenia lub stanu po włączeniu ułatwień dostępu. Ta metoda nie jest wymagana w przypadku większości operacji, w których wbudowana narracja zapewnia wystarczającą opinię, ale powinna być używana, gdy dodatkowe informacje będą przydatne dla użytkownika.
Poniższy kod przedstawia prosty przykład wywołania metody AnnounceForAccessibility:
button.Click += delegate {
button.Text = string.Format ("{0} clicks!", count++);
button.AnnounceForAccessibility (button.Text);
};
Zmienianie Ustawienia fokusu
Dostępna nawigacja polega na kontrolkach, które koncentrują się na pomaganiu użytkownikowi w zrozumieniu, jakie operacje są dostępne. System Android udostępnia Focusable właściwość, która może oznaczać kontrolki jako w szczególności możliwość odbierania fokusu podczas nawigacji.
C#
Aby zapobiec uzyskaniu fokusu Focusable kontrolki za pomocą języka C#, ustaw właściwość na wartość false:
label.Focusable = false;
Układ AXML
W pliku XML układu ustaw android:focusable atrybut:
<android:focusable="false" />
Można również kontrolować kolejność fokusu za nextFocusDownpomocą atrybutów , , nextFocusLeftnextFocusRightnextFocusUp , zwykle ustawianych w układzie AXML. Użyj tych atrybutów, aby upewnić się, że użytkownik może łatwo przechodzić przez kontrolki na ekranie.
Ułatwienia dostępu i lokalizacja
W powyższych przykładach opis wskazówki i zawartości są ustawiane bezpośrednio na wartość wyświetlaną. Preferowane jest użycie wartości w pliku Strings.xml , na przykład:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="enter_info">Enter some text</string>
<string name="save_info">Save data</string>
</resources>
Użycie tekstu z pliku ciągów jest pokazane poniżej w plikach układu C# i AXML:
C#
Zamiast używać literałów ciągów w kodzie, wyszukaj przetłumaczone wartości z plików ciągów za pomocą polecenia Resources.GetText:
someText.Hint = Resources.GetText (Resource.String.enter_info);
saveButton.ContentDescription = Resources.GetText (Resource.String.save_info);
AXML
W układzie atrybuty ułatwień dostępu XML, takie jak hint i contentDescription można ustawić na identyfikator ciągu:
<TextView
android:id="@+id/someText"
android:hint="@string/enter_info" />
<ImageButton
android:id=@+id/saveButton"
android:src="@drawable/save_image"
android:contentDescription="@string/save_info" />
Zaletą przechowywania tekstu w osobnym pliku jest wiele tłumaczeń językowych pliku, które można udostępnić w aplikacji. Zapoznaj się z przewodnikiem lokalizacji systemu Android, aby dowiedzieć się, jak dodać zlokalizowane pliki ciągów do projektu aplikacji.
Testowanie ułatwień dostępu
Wykonaj następujące kroki , aby włączyć funkcję TalkBack i Explore by Touch, aby przetestować ułatwienia dostępu na urządzeniach z systemem Android.
Może być konieczne zainstalowanie aplikacji TalkBack ze sklepu Google Play, jeśli nie jest ona wyświetlana w Ustawienia > Ułatwienia dostępu.