Android無障礙開發筆記

1.添加組件內容描述

可以在組件的佈局XML文件裏,添加android:contentDescription屬性。當然,也可以在佈局實例化代碼裏,使用someView.setContentDescription(someString) 方法。

2.實現組件可聚焦

有些框架組件,如Button、CheckBox等,默認 是可聚焦的;而像ImageView和TextView這樣的框架組件需要手動登記。設置android: focusable屬性值爲true或使用監聽器都可以讓組件可聚焦。

3.提升輔助體驗

有些UI組件,如ImageView,雖然會給用戶提供一些信息,但沒有文字性內容。你也應該給 這些組件添加內容描述。如果某個組件提供不了任何有意義的說明,應該把它的內容描述設置爲 null,讓TalkBack直接忽略它。

4.使用label提供上下文

TalkBack默認讀出EditText框裏的內容。沒輸入標題之前,TalkBack會讀出android:hint 指定的內容。所以不需要也不應該給EditText設置內容描述。 然而,這實際是有問題的。眼見爲實,在標題欄裏輸入文字:Sticker vandalism①。然後,點 按聚焦EditText框,TalkBack提示:“編輯框,Sticker vandalism。”

這個問題就是,如果輸入了其他文字,TalkBack使用者就失去了上下文,不知道EditText 框到底是做什麼的。這對於視力好的人來說一目瞭然,因爲上面有標題文字標籤。如果就輸入了 簡單標題,有視力障礙的用戶就要費力猜測了。顯然,使用體驗就有了大差異。

解決方法:

給TextView添加android:labelFor屬性就可以了。可以很容易地標明EditText和TextView的關係,讓TalkBack掌握同樣的上下文關係。

 android:labelFor="@+id/crime_title"

android:labelFor屬性告訴TalkBack,TextView是以某個ID值指定的視圖(EditText)的 標籤

效果:

點按聚焦EditText框,TalkBack提示:“編輯框,Sticker vandalism,用於crime 標題。”

5.輔助功能掃描器

Google提供了一個輔助功能掃描器。它能評估應用在輔助功能方面做得如何並給出改 進意見。首先,訪問play.google.com/store/apps/details?id=com.google.android.apps.accessibility.auditor, 按指導安裝掃描器。 安裝完成後,手機屏幕上會出現一個藍色的打勾圖標。好戲開始了,啓動應用, 點按藍色的打勾圖標,輔助功能掃描器開始工作。分析時會看到進度條。一旦完成,會彈出 一個窗口給出建議。點按帶框的組件,查看修改建議。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章