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" />
LabelFor links input fields with labels
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ı AnnounceForAccessibility
yapan 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 false
ayarlayı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 , nextFocusRight
nextFocusLeft
, , 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 hint
contentDescription
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.