Share via


Android'de erişilebilirlik

Bu sayfada, erişilebilirlik denetim listesine göre uygulama oluşturmak için Android Erişilebilirlik API'lerinin nasıl kullanılacağı açıklanmaktadır. Diğer platform API'leri için iOS erişilebilirliği ve OS X erişilebilirlik sayfalarına bakın.

Ui Öğelerini Açıklama

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

İçerik açıklaması C# veya AXML düzen dosyasında ayarlanabilir.

C#

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

saveButton.ContentDescription = "Save data";

AXML düzeni

XML düzenlerinde özniteliğini android:contentDescription 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 EditText ve TextView denetimleri için özelliğini kullanarak Hint beklenen girişin (yerine ContentDescription) açıklamasını sağlayın. Bir metin girildiğinde, 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 özniteliğini android:hint kullanın:

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

Bir etiketi veri girişi denetimiyle LabelFor ilişkilendirmek için

C#

C# dilinde, özelliğini bu içeriğin tanımladığı denetimin kaynak kimliğine ayarlayın LabelFor (genellikle bu özellik bir etikette ayarlanır ve başka bir giriş 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üzen XML'sinde, başka bir denetimin android:labelFor tanımlayıcısına başvurmak 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 için Duyuru

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

Aşağıdaki kodda çağrısı AnnounceForAccessibilityyapan basit bir örnek gösterilmektedir:

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

Odak Ayarlar Değiştirme

Erişilebilir gezinti, kullanıcının hangi işlemlerin kullanılabilir olduğunu anlamasına yardımcı olmak için odaklanan denetimlere dayanır. Android, gezinti sırasında odağı alabilen denetimleri etiketleyebilen bir Focusable özellik sağlar.

C#

Denetimin C# ile odaklanmasını önlemek için özelliğini olarak falseayarlayınFocusable:

label.Focusable = false;

AXML düzeni

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

<android:focusable="false" />

Odak sırasınınextFocusDown, genellikle AXML düzeninde ayarlanan , nextFocusRightnextFocusLeft, , nextFocusUp öznitelikleriyle de denetleyebilirsiniz. Kullanıcının ekrandaki denetimler arasında kolayca gezinebilmesini sağlamak için 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. Strings.xml dosyasında aşağıdaki gibi değerlerin kullanılması 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ılması C# ve AXML düzen dosyalarında aşağıda gösterilmiştir:

C#

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

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

AXML

ve gibi hintcontentDescription düzen XML erişilebilirlik özniteliklerinde dize tanımlayıcısı olarak ayarlanabilir:

<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ızda dosyanın birden çok dil çevirisi sağlanabilmesidir. Uygulama projesine yerelleştirilmiş dize dosyaları eklemeyi öğrenmek için Android yerelleştirme kılavuzuna bakın.

Erişilebilirliği Test Etme

Android cihazlarda erişilebilirliği test etmek için TalkBack ve Dokunarak Keşfet'i etkinleştirmek için bu adımları izleyin.

Ayarlar Erişilebilirlik'te görünmüyorsa Google Play'den > TalkBack yüklemeniz gerekebilir.