Android'de erişilebilirlik

Bu sayfada, Android Erişilebilirlik API'lerini kullanarak erişilebilirlik denetim listesine göre uygulama derleme adımları açıklanmaz. Diğer platform API'leri için iOSerişilebilirlik ve OS X erişilebilirlik sayfalarına bakın.

KULLANıCı Arabirimi Öğelerini Açıklama

Android, denetimin amacının erişilebilir bir açıklamasını sağlamak için ekran okuma API'leri ContentDescription tarafından kullanılan bir özellik sağlar.

İçerik açıklaması C# veya AXML düzen dosyasından ya da olabilir.

C#

Açıklama, kodda herhangi bir dizeye (veya dize kaynağına) ayar olabilir:

saveButton.ContentDescription = "Save data";

AXML düzeni

XML düzenleri içinde android:contentDescription özniteliğini kullanın:

<ImageButton
    android:id=@+id/saveButton"
    android:src="@drawable/save_image"
    android:contentDescription="Save data" />

TextView için İpucu kullanma

veri girişi için ve denetimleri için, beklenen girişin açıklamasını sağlamak için özelliğini kullanın EditTextTextViewHintContentDescription (yerine). Bazı metinler girilirken, ipucu yerine metnin kendisi "okunur" olur.

C#

Kodda Hint özelliğini ayarlayın:

someText.Hint = "Enter some text"; // displays (and is "read") when control is empty

AXML düzeni

XML düzen dosyalarında android:hint özniteliğini kullanın:

<EditText
    android:id="@+id/someText"
    android:hint="Enter some text" />

Bir etiketi veri girişi denetimiyle ilişkilendirmek için LabelFor özelliğini kullanarak

C#

C# içinde, özelliğini bu içeriğin açık olduğu denetimin kaynak kimliğine ayarlayın (genellikle bu özellik bir etikette ayarlanır ve başka bir giriş LabelFor denetimine başvurur):

EditText edit = FindViewById<EditText> (Resource.Id.editFirstName);
TextView tv = FindViewById<TextView> (Resource.Id.labelFirstName);
tv.LabelFor = Resource.Id.editFirstName;

AXML düzeni

DüzenDE XML, başka android:labelFor bir denetimin tanımlayıcısına başvuru yapmak için özelliğini kullanın:

<TextView
    android:id="@+id/labelFirstName"
    android:hint="Enter some text"
    android:labelFor="@+id/editFirstName" />
<EditText
    android:id="@+id/editFirstName"
    android:hint="Enter some text" />

Erişilebilirlik Duyurus

Erişilebilirlik AnnounceForAccessibility etkinleştirildiğinde kullanıcılara bir olay veya durum değişikliği sağlamak için herhangi bir görünüm denetiminde yöntemini kullanın. Bu yöntem, yerleşik konuşmanın yeterli geri bildirim sağladığı çoğu işlem için gerekli değildir, ancak kullanıcı için ek bilgilerin yararlı olduğu yerde kullanılmalıdır.

Aşağıdaki kodda çağıran basit bir örnek AnnounceForAccessibility gösterilmiştir:

button.Click += delegate {
  button.Text = string.Format ("{0} clicks!", count++);
  button.AnnounceForAccessibility (button.Text);
};

Odak Ayarlarını Ayarlar

Erişilebilir gezinti, kullanıcıya hangi işlemlerin kullanılabilir olduğunu anlamada yardımcı olmak için odaklanan denetimlere odaklanır. Android, gezinti Focusable sırasında özellikle odağı alabilecek şekilde denetimleri etiketleyabilecek bir özellik sağlar.

C#

Bir denetimin C# ile odak kazanmasını önlemek için özelliğini Focusable olarak false ayarlayın:

label.Focusable = false;

AXML düzeni

DüzenDE XML dosyaları özniteliğini android:focusable ayarlayın:

<android:focusable="false" />

Odak düzenini, genellikle düzen nextFocusDownnextFocusLeftnextFocusRightnextFocusUp AXML'de ayarlanmış , , , öznitelikleriyle de kontrol etmek için kullanabilirsiniz. Kullanıcının ekranda denetimler arasında kolayca gezinene kadar bu öznitelikleri kullanın.

Erişilebilirlik ve Yerelleştirme

Yukarıdaki örneklerde ipucu ve içerik açıklaması doğrudan görüntüleme değerine ayarlanır. Aşağıdaki gibi birStrings.xml tercih edilir:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="enter_info">Enter some text</string>
    <string name="save_info">Save data</string>
</resources>

Dize dosyasındaki metinlerin kullanımı aşağıda C# ve AXML düzen dosyalarında gösterilmiştir:

C#

Kodda dize değişmez değerlerini kullanmak yerine ile dize dosyalarından çevrilmiş değerlere Resources.GetText bakın:

someText.Hint = Resources.GetText (Resource.String.enter_info);
saveButton.ContentDescription = Resources.GetText (Resource.String.save_info);

AXML

düzende, ve gibi XML erişilebilirlik hintcontentDescription öznitelikleri bir dize tanımlayıcısına ayarlanmış olabilir:

<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" />

Metni ayrı bir dosyada depolamanın avantajı, uygulamanıza dosyanın birden çok dil çevirisi sağlanmasıdır. Uygulama projesine yerelleştirilmiş dize dosyaları ekleme hakkında bilgi edinmek için android yerelleştirme kılavuzuna bakın.

Erişilebilirlik Testi

Android cihazlarda erişilebilirliği test etmek için TalkBack ve Explore by Touch'u etkinleştirmek için bu adımları izleyin.

TalkBack'i Google Play'de görünmüyorsa, Ayarlar yüklemeniz gerekir.