0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

測(cè)試應(yīng)用無(wú)障礙功能,助力構(gòu)建適合更多人的精彩應(yīng)用

谷歌開(kāi)發(fā)者 ? 來(lái)源:未知 ? 2022-11-22 17:45 ? 次閱讀
通過(guò)測(cè)試無(wú)障礙功能,您可以從用戶的角度體驗(yàn)?zāi)膽?yīng)用,并發(fā)現(xiàn)原本可能忽略的易用性問(wèn)題。無(wú)障礙功能測(cè)試可以挖掘出改進(jìn)機(jī)會(huì),使您的應(yīng)用變得功能更強(qiáng)大且更多樣,造福于所有用戶,包括殘障用戶。

為了獲得最佳效果,請(qǐng)使用本文檔中介紹的所有方法:

  • 手動(dòng)測(cè)試:使用 Android 無(wú)障礙服務(wù)與您的應(yīng)用互動(dòng)。
  • 使用分析工具進(jìn)行測(cè)試: 使用各種工具發(fā)現(xiàn)改進(jìn)應(yīng)用無(wú)障礙功能的機(jī)會(huì)。
  • 自動(dòng)化測(cè)試: 在 Espresso 和 Robolectric 中開(kāi)啟無(wú)障礙功能測(cè)試。
  • 用戶測(cè)試: 從與您的應(yīng)用互動(dòng)的真實(shí)用戶那里獲得反饋。



手動(dòng)測(cè)試


手動(dòng)測(cè)試能讓您從用戶的角度體驗(yàn)應(yīng)用。Android AccessibilityService 對(duì)象會(huì)改變應(yīng)用內(nèi)容呈現(xiàn)給用戶的方式以及用戶與內(nèi)容互動(dòng)的方式。通過(guò)使用無(wú)障礙服務(wù)與您的應(yīng)用互動(dòng),您可以像用戶一樣體驗(yàn)應(yīng)用。

  • AccessibilityService

    https://developer.android.google.cn/reference/android/accessibilityservice/AccessibilityService


TalkBack

TalkBack 是 Android 的內(nèi)置屏幕閱讀器。開(kāi)啟 TalkBack 后,用戶無(wú)需查看屏幕即可與 Android 設(shè)備互動(dòng)。視障用戶在使用您的應(yīng)用時(shí)可能需要依賴于 TalkBack。

開(kāi)啟 TalkBack

  1. 打開(kāi)設(shè)備的 "設(shè)置" 應(yīng)用。
  2. 轉(zhuǎn)到無(wú)障礙,然后選擇 TalkBack
  3. 在 TalkBack 屏幕的頂部,按開(kāi)啟/關(guān)閉即可開(kāi)啟 TalkBack。
  4. 在確認(rèn)對(duì)話框中,選擇確定以確認(rèn)權(quán)限。

注意: 首次啟用 TalkBack 時(shí),系統(tǒng)會(huì)啟動(dòng)教程。如果以后想再次打開(kāi)該教程,請(qǐng)依次轉(zhuǎn)到設(shè)置 > 無(wú)障礙 > TalkBack > 設(shè)置 > 啟動(dòng) TalkBack 教程。


使用 TalkBack 瀏覽應(yīng)用

開(kāi)啟 TalkBack 后,您可以通過(guò)以下兩種常見(jiàn)方式導(dǎo)航:

  • 線性導(dǎo)航: 快速向左或向右滑動(dòng)即可按順序?yàn)g覽屏幕元素。點(diǎn)按任意位置兩次即可選擇。
  • 觸摸瀏覽: 在屏幕上拖動(dòng)手指即可讓系統(tǒng)讀出手指輕觸的內(nèi)容。點(diǎn)按任意位置兩次即可選擇。

如需使用 TalkBack 瀏覽應(yīng)用,請(qǐng)完成以下步驟:
  1. 打開(kāi)您的應(yīng)用。
  2. 按順序滑動(dòng)瀏覽各個(gè)元素。
  3. 在瀏覽過(guò)程中,注意下面幾個(gè)問(wèn)題:
    1. 每個(gè)元素的語(yǔ)音反饋是否恰當(dāng)?shù)貍鬟_(dá)了其內(nèi)容或用途?(了解如何編寫(xiě)有意義的標(biāo)簽。)
    2. 朗讀內(nèi)容是簡(jiǎn)潔明了,還是過(guò)于冗長(zhǎng)?
    3. 您能否輕松完成主要工作流程?
    4. 您能否通過(guò)滑動(dòng)瀏覽每個(gè)元素?
    5. 如果出現(xiàn)提醒或其他臨時(shí)消息,TalkBack 能否朗讀出來(lái)?

如需了解詳情和提示,請(qǐng)參閱 TalkBack 用戶文檔。

  • 編寫(xiě)有意義的標(biāo)簽

    https://material.io/guidelines/usability/accessibility.html#accessibility-writing

  • TalkBack 用戶文檔

    https://support.google.com/accessibility/android/answer/6006589


可選: TalkBack 開(kāi)發(fā)者設(shè)置

TalkBack 開(kāi)發(fā)者設(shè)置可讓您輕松使用 TalkBack 測(cè)試應(yīng)用。


如需查看或更改開(kāi)發(fā)者設(shè)置,請(qǐng)完成以下步驟:
  1. 打開(kāi)設(shè)備的 "設(shè)置" 應(yīng)用。

  2. 轉(zhuǎn)到無(wú)障礙,然后選擇 TalkBack。

  3. 依次選擇設(shè)置 > 高級(jí)設(shè)置 > 開(kāi)發(fā)者設(shè)置:
    1. 日志輸出級(jí)別: 選擇詳細(xì)。

    2. 顯示語(yǔ)音輸出: 開(kāi)啟此設(shè)置即可在屏幕上查看 TalkBack 語(yǔ)音輸出。


開(kāi)關(guān)控制

"開(kāi)關(guān)控制" 可讓用戶使用開(kāi)關(guān) (而不是觸摸屏) 與 Android 設(shè)備互動(dòng)。開(kāi)關(guān)分為以下幾種: AbleNet、Enabling Devices、RJ Cooper 或 Tecla* 等出售的輔助技術(shù)設(shè)備;外部鍵盤(pán)按鍵;或者按鈕。對(duì)于有運(yùn)動(dòng)障礙的用戶,此服務(wù)非常有用。


* Google 不對(duì)這些公司或他們的產(chǎn)品給予認(rèn)可。

開(kāi)啟 "開(kāi)關(guān)控制"

配置 "開(kāi)關(guān)控制" 的一種簡(jiǎn)單方式是使用兩個(gè)開(kāi)關(guān)。一個(gè)開(kāi)關(guān)被指定為 "下一項(xiàng)" 開(kāi)關(guān),用于在屏幕上移動(dòng)焦點(diǎn);第二個(gè)是 "選擇" 開(kāi)關(guān),用于選擇焦點(diǎn)所在的元素。如需使用這種雙開(kāi)關(guān)方法,您可以使用任意一對(duì)硬件按鍵。


注意: 您使用 "開(kāi)關(guān)控制" 的體驗(yàn)會(huì)因所用的工具和軟件而異:
  • 如果您使用外部開(kāi)關(guān) (如鍵盤(pán)),還需要執(zhí)行其他設(shè)置步驟。例如,您需要重新啟用軟鍵盤(pán)。如需了解詳情,請(qǐng)參閱開(kāi)關(guān)控制用戶文檔:

    https://support.google.com/accessibility/android/answer/6301497
  • 如果您使用的是 TalkBack 5.1 或更高版本,則可以使用設(shè)置向?qū)渲?"開(kāi)關(guān)控制"。如需使用此向?qū)?(而不是執(zhí)行以下步驟),請(qǐng)依次轉(zhuǎn)到設(shè)置 > 無(wú)障礙 > 開(kāi)關(guān)控制 > 設(shè)置 > 打開(kāi) "開(kāi)關(guān)控制" 設(shè)置。


在設(shè)置 "開(kāi)關(guān)控制" 時(shí),如需將音量調(diào)低鍵用作 "下一項(xiàng)" 開(kāi)關(guān),并將音量調(diào)高鍵用作 "選擇" 開(kāi)關(guān),請(qǐng)完成以下步驟:
  1. 確保 TalkBack 已關(guān)閉。

  2. 打開(kāi)設(shè)備的 "設(shè)置" 應(yīng)用。
  3. 轉(zhuǎn)到無(wú)障礙并選擇開(kāi)關(guān)控制,然后選擇設(shè)置。
  4. 在 "開(kāi)關(guān)控制偏好設(shè)置" 屏幕中,確保自動(dòng)掃描功能已關(guān)閉。
  5. 將音量調(diào)低鍵用作 "下一項(xiàng)" 開(kāi)關(guān):

    1. 依次輕觸指定掃描按鍵 > 下一項(xiàng)。
    2. 對(duì)話框打開(kāi)后,按音量調(diào)低鍵。此時(shí),對(duì)話框會(huì)顯示 KEYCODE_VOLUME_DOWN。
    3. 輕觸確定,確認(rèn)并退出該對(duì)話框。


  6. 將音量調(diào)高鍵用作 "選擇" 開(kāi)關(guān):

    1. 輕觸 "選擇"。
    2. 對(duì)話框打開(kāi)后,按音量調(diào)高鍵。此時(shí),對(duì)話框會(huì)顯示 KEYCODE_VOLUME_UP。
    3. 輕觸確定,確認(rèn)并退出該對(duì)話框。


  7. 如需返回 "開(kāi)關(guān)控制偏好設(shè)置",請(qǐng)按返回按鈕。
  8. 可選: 如果您使用的是 TalkBack 5.1 或更高版本,則可以選擇語(yǔ)音反饋來(lái)開(kāi)啟語(yǔ)音反饋。
  9. 如需返回 "開(kāi)關(guān)控制" 主屏幕,請(qǐng)按返回按鈕。
  10. 在 "開(kāi)關(guān)控制" 屏幕的頂部,按開(kāi)啟/關(guān)閉即可開(kāi)啟 "開(kāi)關(guān)控制"。
  11. 在確認(rèn)對(duì)話框中,選擇確定以確認(rèn)權(quán)限。

通過(guò) "開(kāi)關(guān)控制" 瀏覽應(yīng)用

如需通過(guò) "開(kāi)關(guān)控制" 瀏覽您的應(yīng)用,請(qǐng)完成以下步驟:

  1. 打開(kāi)您的應(yīng)用。
  2. 如需開(kāi)始掃描,請(qǐng)按 "下一項(xiàng)" 開(kāi)關(guān) (音量調(diào)低按鈕)。
  3. 繼續(xù)按 "下一項(xiàng)" 開(kāi)關(guān),直到找到您想要選擇的項(xiàng)。
  4. 如需選擇突出顯示的項(xiàng),請(qǐng)按 "選擇" 開(kāi)關(guān) (音量調(diào)高按鈕)。
  5. 在瀏覽過(guò)程中,注意下面幾個(gè)問(wèn)題:

    1. 您能否輕松完成主要工作流程?
    2. 如果存在文本或其他輸入內(nèi)容,您能否輕松添加和修改內(nèi)容?
    3. 這些項(xiàng)只有在您可以對(duì)它們執(zhí)行操作時(shí)才會(huì)突出顯示嗎?
    4. 每項(xiàng)是否只能突出顯示一次?
    5. 可通過(guò)觸摸屏手勢(shì)使用的所有功能是否也可作為 "開(kāi)關(guān)控制" 中的可選控件或自定義操作使用?
    6. 如果您使用的是 TalkBack 5.1 或更高版本,并且已開(kāi)啟語(yǔ)音反饋,那么每個(gè)元素的語(yǔ)音反饋是否恰當(dāng)?shù)貍鬟_(dá)了其內(nèi)容或用途?了解如何編寫(xiě)有意義的標(biāo)簽:

      https://material.io/guidelines/usability/accessibility.html#accessibility-writing


可選: 通過(guò)組選擇來(lái)查看所有可掃描項(xiàng)

組選擇是一種 "開(kāi)關(guān)控制" 導(dǎo)航方法,可讓您同時(shí)查看所有的可掃描項(xiàng)。借助此選項(xiàng),您可以快速檢查屏幕上是否突出顯示了正確的元素。

如需開(kāi)啟組選擇,請(qǐng)完成以下步驟:

  1. 打開(kāi)設(shè)備的 "設(shè)置" 應(yīng)用。
  2. 轉(zhuǎn)到無(wú)障礙并選擇開(kāi)關(guān)控制,然后選擇設(shè)置
  3. 在 "開(kāi)關(guān)控制偏好設(shè)置" 屏幕中,確保自動(dòng)掃描功能已關(guān)閉。
  4. 依次選擇掃描方法 > 組選擇。
  5. 輕觸指定用來(lái)控制掃描的開(kāi)關(guān)。
  6. 確保組選擇開(kāi)關(guān) 1 和組選擇開(kāi)關(guān) 2 下的文本表明已經(jīng)為這兩者各指定了一個(gè)開(kāi)關(guān)。如果您已經(jīng)按照相應(yīng)的步驟開(kāi)啟 "開(kāi)關(guān)控制",則應(yīng)該已指定音量按鈕。
    https://developer.android.google.cn/guide/topics/ui/accessibility/testing#turn-on-switch-access

如需通過(guò)組選擇使用 "開(kāi)關(guān)控制" 來(lái)瀏覽您的應(yīng)用,請(qǐng)完成以下步驟:

  1. 按 "選擇" 鍵 (音量調(diào)高按鈕) 以突出顯示當(dāng)前屏幕上的所有可操作項(xiàng)。注意下面幾個(gè)問(wèn)題:
    1. 是否僅突出顯示了可操作項(xiàng)?

    2. 是否突出顯示所有可操作項(xiàng)?
    3. 突出顯示的項(xiàng)的密度是否合理?

  2. 轉(zhuǎn)到其他屏幕以清除突出顯示效果。

如需詳細(xì)了解用戶如何使用組選擇進(jìn)行導(dǎo)航,請(qǐng)參閱 "開(kāi)關(guān)控制" 使用提示:
https://support.google.com/accessibility/android/answer/6395627


其他服務(wù)

Android 提供了一些其他工具來(lái)測(cè)試應(yīng)用的無(wú)障礙功能。

盲文提示

Google 盲文提示是一款應(yīng)用,可讓用戶通過(guò)藍(lán)牙將可刷新的盲文顯示屏連接到 Android 設(shè)備。"盲文提示" 可與 TalkBack 配合使用,共同打造兼具語(yǔ)音和盲文的使用體驗(yàn)。


  • Google 盲文提示

    https://play.google.com/store/apps/details?id=com.googlecode.eyesfree.brailleback


如需使用盲文顯示屏測(cè)試您的應(yīng)用,請(qǐng)了解如何安裝并開(kāi)啟 "盲文提示":

https://support.google.com/accessibility/android/answer/3535226


如需查看 "盲文提示" 呈現(xiàn)的盲文 (和 ASCII 轉(zhuǎn)換),而不連接盲文顯示屏,您可以使用 "盲文提示" 設(shè)置中的疊加選項(xiàng):
  1. 打開(kāi)設(shè)備的 "設(shè)置" 應(yīng)用。

  2. 轉(zhuǎn)到無(wú)障礙,然后選擇盲文提示。
  3. 依次選擇設(shè)置 > 開(kāi)發(fā)者選項(xiàng) > 在屏幕上顯示盲文輸出。

Voice Access

Voice Access 可讓用戶通過(guò)語(yǔ)音指令控制 Android 設(shè)備。搭載 Android 5.0 (API 級(jí)別 21) 及更高版本的設(shè)備提供 Voice Access。如需使用 Voice Access 測(cè)試您的應(yīng)用,請(qǐng)了解如何開(kāi)始使用 Voice Access。


  • Voice Access

    https://play.google.com/store/apps/details?id=com.google.android.apps.accessibility.voiceaccess

  • 開(kāi)始使用 Voice Access

    https://support.google.com/accessibility/android/answer/6151848



分析工具


使用分析工具進(jìn)行測(cè)試可以發(fā)現(xiàn)手動(dòng)測(cè)試可能會(huì)錯(cuò)失的無(wú)障礙功能改進(jìn)機(jī)會(huì)。


無(wú)障礙功能掃描儀

無(wú)障礙功能掃描儀應(yīng)用會(huì)掃描您的屏幕,并提供改進(jìn)應(yīng)用無(wú)障礙功能的建議。無(wú)障礙功能掃描儀使用無(wú)障礙功能測(cè)試框架,并在查看內(nèi)容標(biāo)簽、可點(diǎn)擊項(xiàng)、對(duì)比度等內(nèi)容后提供具體建議。


  • 無(wú)障礙功能掃描儀

    https://play.google.com/store/apps/details?id=com.google.android.apps.accessibility.auditor

  • 無(wú)障礙功能測(cè)試框架

    https://github.com/google/Accessibility-Test-Framework-for-Android


我們已在 Android Studio 中集成了 Android 無(wú)障礙功能測(cè)試框架,用于幫助您查找布局中的無(wú)障礙功能問(wèn)題。如需啟動(dòng)該工具的面板,請(qǐng)點(diǎn)擊布局編輯器中的錯(cuò)誤報(bào)告按鈕?。

了解詳情:

  • 開(kāi)始使用無(wú)障礙功能掃描儀
    https://support.google.com/accessibility/android/answer/6376570
  • 如何解讀無(wú)障礙功能掃描儀的掃描結(jié)果

    https://support.google.com/accessibility/android/answer/6376559


Google Play 上的發(fā)布前測(cè)試報(bào)告

如果您在 Google Play 上分發(fā)應(yīng)用,便可查看應(yīng)用的發(fā)布前測(cè)試報(bào)告。在您通過(guò) Google Play 管理中心將應(yīng)用上傳到發(fā)布渠道不久后,Google Play 會(huì)生成此報(bào)告。發(fā)布前測(cè)試報(bào)告也可在 Google Play 管理中心內(nèi)找到,它顯示了 Google Play 對(duì)您的應(yīng)用執(zhí)行的測(cè)試的結(jié)果。

  • 發(fā)布前測(cè)試報(bào)告

    https://support.google.com/googleplay/android-developer/answer/7002270

  • 將應(yīng)用上傳

    https://support.google.com/googleplay/android-developer/answer/113469


具體而言,Google Play 會(huì)使用無(wú)障礙功能測(cè)試框架運(yùn)行無(wú)障礙功能測(cè)試。這些測(cè)試的結(jié)果將顯示在應(yīng)用的發(fā)布前測(cè)試報(bào)告的無(wú)障礙標(biāo)簽頁(yè)上的一個(gè)表格中。

  • 無(wú)障礙功能測(cè)試框架

    https://github.com/google/Accessibility-Test-Framework-for-Android


該表格將改進(jìn)機(jī)會(huì)分為以下幾類:

觸摸目標(biāo)大小

應(yīng)用中的某些互動(dòng)元素的可聚焦區(qū)域 (即觸摸目標(biāo)大小) 小于建議的值:

https://developer.android.google.cn/guide/topics/ui/accessibility/apps#touch-targets


低對(duì)比度

對(duì)某個(gè)文本元素和該元素后面的背景使用的一對(duì)顏色的色彩對(duì)比度低于建議的值:
https://developer.android.google.cn/guide/topics/ui/accessibility/apps#color-contrast

內(nèi)容標(biāo)簽

某些界面元素沒(méi)有描述給定元素用途的標(biāo)簽:
https://developer.android.google.cn/guide/topics/ui/accessibility/apps#label-elements

實(shí)現(xiàn)

為界面元素分配了某些屬性,這使得系統(tǒng)的無(wú)障礙服務(wù)更難以正確解讀元素。例如,為可修改的 View 標(biāo)簽定義說(shuō)明,以及使用與元素的邏輯排列方式不匹配的元素遍歷順序。

  • 可修改的 View 標(biāo)簽

    https://support.google.com/accessibility/android/answer/6378120

  • 遍歷順序

    https://support.google.com/accessibility/android/answer/7664232


在該表格后面,發(fā)布前測(cè)試報(bào)告顯示了應(yīng)用的快照。這些快照呈現(xiàn)了各個(gè)類別中改進(jìn)應(yīng)用無(wú)障礙功能的首要機(jī)會(huì)。選擇屏幕截圖后,您可以查看更多詳細(xì)信息,包括建議的改進(jìn)和一個(gè)更完整的列表,其中列出了您可以在應(yīng)用中的哪些位置應(yīng)用同樣的改進(jìn)。

下圖顯示了一個(gè)表格的示例,它顯示在 Google Play 中發(fā)布前測(cè)試報(bào)告的無(wú)障礙標(biāo)簽頁(yè)上。此圖還包含應(yīng)用的一個(gè)快照,它顯示了下一項(xiàng)按鈕的觸摸目標(biāo)大小小于建議的值。

△ 發(fā)布前測(cè)試報(bào)告的無(wú)障礙標(biāo)簽頁(yè)上的摘要表格 (左)
和屏幕截圖 (右)示例

UI Automator 查看器

uiautomatorviewer 工具提供了一個(gè)方便的 GUI,可掃描和分析 Android 設(shè)備上當(dāng)前顯示的界面組件。您可以使用 UI Automator 檢查布局層次結(jié)構(gòu),并查看在設(shè)備前臺(tái)顯示的界面組件的屬性。利用此信息,您可以創(chuàng)建更精細(xì)的測(cè)試。例如,通過(guò)創(chuàng)建與特定可見(jiàn)屬性匹配的界面選擇器來(lái)做到這一點(diǎn)。該工具位于 Android SDK 的 tools 目錄中。


在無(wú)障礙功能測(cè)試中,此工具對(duì)于調(diào)試使用其他測(cè)試方法發(fā)現(xiàn)的問(wèn)題很有用。例如,如果手動(dòng)測(cè)試發(fā)現(xiàn)某個(gè)視圖應(yīng)包含卻未包含可朗讀的文本,或者某個(gè)視圖不應(yīng)獲得卻獲得了焦點(diǎn),您可以使用該工具幫助找出錯(cuò)誤的來(lái)源。


如需詳細(xì)了解 UI Automator 查看器,請(qǐng)參閱測(cè)試多個(gè)應(yīng)用的界面:

https://developer.android.google.cn/training/testing/ui-testing/uiautomator-testing

Lint

Android Studio 會(huì)顯示有關(guān)各種無(wú)障礙功能問(wèn)題的 lint 警告,并提供指向源代碼中包含這些問(wèn)題的位置的鏈接。在以下示例中,一張圖片缺少 contentDescription 屬性。缺少內(nèi)容說(shuō)明會(huì)導(dǎo)致生成以下消息:

[Accessibility] Missing 'contentDescription' attribute on image

下圖舉例說(shuō)明了此消息在 Android Studio 中是什么樣子的:

△Android Studio 中顯示缺少 contentDescription 屬性的消息

如果屏幕閱讀器等無(wú)障礙服務(wù)的用戶在應(yīng)用內(nèi)遇到這張圖片,他們將無(wú)法理解該圖片的含義。



自動(dòng)測(cè)試


Android 平臺(tái)支持多個(gè)測(cè)試框架 (包括 EspressoRobolectric),每個(gè)框架都允許您創(chuàng)建并運(yùn)行自動(dòng)化測(cè)試,以評(píng)估應(yīng)用的無(wú)障礙功能。

  • Espresso

    https://developer.android.google.cn/guide/topics/ui/accessibility/testing#espresso

  • Robolectric

    https://developer.android.google.cn/guide/topics/ui/accessibility/testing#robolectric


如需通過(guò)視頻簡(jiǎn)要了解如何使用 Espresso 和 Robolectric 進(jìn)行無(wú)障礙功能測(cè)試,請(qǐng)觀看以下視頻 (從 31 分 54 秒到 34 分 19 秒):

△包容性設(shè)計(jì)和測(cè)試: 讓您的應(yīng)用使用起來(lái)更沒(méi)有障礙 | 2016 年 Google I/O 大會(huì)

Espresso

Espresso 是一個(gè) Android 測(cè)試庫(kù),旨在打造簡(jiǎn)單快捷的界面測(cè)試體驗(yàn)。它可讓您與應(yīng)用中的被測(cè)界面組件互動(dòng),并斷言會(huì)發(fā)生某些行為或滿足特定條件:

https://developer.android.google.cn/training/testing/espresso


本部分介紹如何使用 Espresso 運(yùn)行無(wú)障礙功能檢查。

啟用檢查

您可以使用 AccessibilityChecks 類啟用和配置無(wú)障礙功能測(cè)試:
https://developer.android.google.cn/reference/androidx/test/espresso/accessibility/AccessibilityChecks
import androidx.test.espresso.accessibility.AccessibilityChecks


@RunWith(AndroidJUnit4::class)
@LargeTest
class MyWelcomeWorkflowIntegrationTest {
init {
AccessibilityChecks.enable()
}
}


默認(rèn)情況下,當(dāng)您執(zhí)行 ViewActions 中定義的任何視圖操作時(shí),系統(tǒng)都會(huì)運(yùn)行檢查。每次檢查都包括執(zhí)行操作所在的視圖以及所有后代視圖。您可以在每次檢查期間評(píng)估屏幕的整個(gè)視圖層次結(jié)構(gòu),方法是將 true 傳入 setRunChecksFromRootView(),如以下代碼段所示:
AccessibilityChecks.enable().setRunChecksFromRootView(true)


  • ViewActions

    https://developer.android.google.cn/reference/androidx/test/espresso/action/ViewActions

  • setRunChecksFromRootView()

    https://github.com/google/Accessibility-Test-Framework-for-Android/blob/a6117fe0059c82dd764fa628d3817d724570f69e/src/main/java/com/google/android/apps/common/testing/accessibility/framework/integrations/espresso/AccessibilityValidator.java#L82


抑制結(jié)果的子集

Espresso 針對(duì)應(yīng)用運(yùn)行無(wú)障礙功能檢查后,您可能會(huì)發(fā)現(xiàn)一些有助于改進(jìn)應(yīng)用的無(wú)障礙功能,但無(wú)法馬上進(jìn)行處理的結(jié)果。為了防止 Espresso 測(cè)試因這些結(jié)果而不斷失敗,您可以暫時(shí)忽略它們。無(wú)障礙功能測(cè)試框架 (ATF) 使用 setSuppressingResultMatcher() 方法提供此功能,該方法指示 Espresso 抑制滿足給定匹配器表達(dá)式的所有結(jié)果。


  • setSuppressingResultMatcher()

    https://github.com/google/Accessibility-Test-Framework-for-Android/blob/a6117fe0059c82dd764fa628d3817d724570f69e/src/main/java/com/google/android/apps/common/testing/accessibility/framework/integrations/espresso/AccessibilityValidator.java#L95


如果您對(duì)應(yīng)用所做的更改可以改進(jìn)無(wú)障礙功能的一個(gè)方面,讓 Espresso 盡可能多地顯示無(wú)障礙功能其他方面的結(jié)果會(huì)有好處。因此,最好僅抑制已知的具體改進(jìn)機(jī)會(huì)。


如果您暫時(shí)抑制無(wú)障礙功能測(cè)試的某些結(jié)果,打算以后再處理,切勿意外抑制類似的結(jié)果。因此,請(qǐng)使用作用域較小的匹配器。為此,選擇的匹配器應(yīng)確保只有在給定的結(jié)果滿足以下每項(xiàng)無(wú)障礙功能檢查的條件時(shí),Espresso 才會(huì)抑制該結(jié)果:

  1. 某種類型的無(wú)障礙功能檢查,如用于檢查觸摸目標(biāo)大小的無(wú)障礙功能檢查。
  2. 用于評(píng)估特定界面元素 (如按鈕) 的無(wú)障礙功能檢查。

  • 匹配器

    http://hamcrest.org/JavaHamcrest/tutorial#a-tour-of-common-matchers


ATF 定義了多個(gè)匹配器,以幫助您定義要在 Espresso 測(cè)試中顯示的結(jié)果。以下示例抑制了與單個(gè) TextView 元素的色彩對(duì)比度相關(guān)的檢查的結(jié)果。元素的 ID 為 countTV。
AccessibilityChecks.enable().apply {
setSuppressingResultMatcher(
allOf(
matchesCheckNames(`is`("TextContrastViewCheck")),
matchesViews(withId(R.id.countTV))
)
)
}


  • ATF 定義了多個(gè)匹配器

    https://github.com/google/Accessibility-Test-Framework-for-Android/blob/a6117fe0059c82dd764fa628d3817d724570f69e/src/main/java/com/google/android/apps/common/testing/accessibility/framework/AccessibilityCheckResultUtils.java


Robolectric

警告: Robolectric 4.5 中已移除此功能,請(qǐng)改用 Espresso 或無(wú)障礙功能掃描儀應(yīng)用:

https://developer.android.google.cn/guide/topics/ui/accessibility/testing#accessibility-scanner
Robolectric 是一個(gè)開(kāi)源 Android 測(cè)試庫(kù),可讓您在 JVM 上測(cè)試真實(shí)的 Android 代碼,而無(wú)需啟動(dòng)模擬器。了解如何開(kāi)始使用 Robolectric:
http://robolectric.org/getting-started
注意: 使用 Robolectric 進(jìn)行界面測(cè)試存在一些缺點(diǎn),因此除了此工具之外,您還應(yīng)使用其他形式的測(cè)試。例如,對(duì)于觸摸目標(biāo)大小和重復(fù)的可點(diǎn)擊項(xiàng),Robolectric 無(wú)法給出可靠的結(jié)果。為了檢測(cè)這些問(wèn)題,不妨考慮使用無(wú)障礙功能掃描儀應(yīng)用:
https://developer.android.google.cn/guide/topics/ui/accessibility/testing#accessibility-scanner

抑制已知問(wèn)題

首次針對(duì) Robolectric 啟用檢查時(shí),您可能會(huì)遇到許多無(wú)法立即處理的問(wèn)題。您可以為希望抑制的結(jié)果設(shè)置匹配器來(lái)抑制這些錯(cuò)誤。如需了解詳情,請(qǐng)參閱 Robolectric 中提供的 AccessibilityUtil 類的 setSuppressingResultMatcher() 方法的文檔。


  • AccessibilityUtil

    http://robolectric.org/javadoc/3.1/org/robolectric/util/AccessibilityUtil.html

  • setSuppressingResultMatcher()

    http://robolectric.org/javadoc/3.1/org/robolectric/util/AccessibilityUtil.html#setSuppressingResultMatcher(org.hamcrest.Matcher)



用戶測(cè)試


與本指南中的其他測(cè)試方法一樣,用戶測(cè)試可以提供有關(guān)應(yīng)用易用性的具體且寶貴的深入分析。

為了找到可以測(cè)試您的應(yīng)用的用戶,請(qǐng)使用如下方法:

  1. 與為殘障人士提供培訓(xùn)的當(dāng)?shù)亟M織、學(xué)院或大學(xué)聯(lián)系。
  2. 在您的社交圈中詢問(wèn)。可能會(huì)有殘障人士愿意提供幫助。
  3. 詢問(wèn)用戶測(cè)試服務(wù)機(jī)構(gòu) (如 usertesting.com),看看他們能否邀請(qǐng)殘障用戶測(cè)試您的應(yīng)用。
  4. 加入無(wú)障礙功能論壇 (如 AccessibilityEyes-free),邀請(qǐng)志愿者試用您的應(yīng)用。


  • usertesting.com

    https://www.usertesting.com/

  • Accessibility

    https://groups.google.com/forum/#!forum/accessible

  • Eyes-free

    https://groups.google.com/forum/#!forum/eyes-free


如需更多提示,請(qǐng)觀看以下視頻的用戶測(cè)試部分 (從 31 分 10 秒到 44 分 51 秒):


△幕后花絮: Android 無(wú)障礙功能的新變化 | 2016 年 Google I/O 大會(huì)


歡迎您持續(xù)關(guān)注我們,及時(shí)了解更多開(kāi)發(fā)技術(shù)和產(chǎn)品更新等資訊動(dòng)態(tài)。




?點(diǎn)擊屏末||即刻了解無(wú)障礙功能更多相關(guān)內(nèi)容




原文標(biāo)題:測(cè)試應(yīng)用無(wú)障礙功能,助力構(gòu)建適合更多人的精彩應(yīng)用

文章出處:【微信公眾號(hào):谷歌開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6171

    瀏覽量

    105488

原文標(biāo)題:測(cè)試應(yīng)用無(wú)障礙功能,助力構(gòu)建適合更多人的精彩應(yīng)用

文章出處:【微信號(hào):Google_Developers,微信公眾號(hào):谷歌開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(shù)據(jù)采集與傳輸無(wú)障礙 簡(jiǎn)化設(shè)備,解決隧道深部監(jiān)測(cè)難題 擺脫信號(hào)盲區(qū)的困擾

    數(shù)據(jù)采集與傳輸無(wú)障礙 簡(jiǎn)化設(shè)備,解決隧道深部監(jiān)測(cè)難題 擺脫信號(hào)盲區(qū)的困擾 根據(jù)實(shí)際情況和工程環(huán)境,我們特別推出了一種一站式現(xiàn)場(chǎng)監(jiān)測(cè)方案,旨在方便快捷地完成隧道深部及信號(hào)盲區(qū)部分的施工監(jiān)測(cè)。我們利用
    的頭像 發(fā)表于 12-21 17:29 ?118次閱讀
    數(shù)據(jù)采集與傳輸<b class='flag-5'>無(wú)障礙</b> 簡(jiǎn)化設(shè)備,解決隧道深部監(jiān)測(cè)難題 擺脫信號(hào)盲區(qū)的困擾

    HarmonyOS NEXT應(yīng)用元服務(wù)開(kāi)發(fā)禁用屏幕朗讀焦點(diǎn)的場(chǎng)景

    裝飾性的控件一般為分隔符、占位符和美化圖標(biāo)等,這類圖形元素僅僅起到調(diào)整頁(yè)面布局或裝飾性效果,并不會(huì)向用戶傳達(dá)有效的信息或提供交互功能,刪除后不影響指引用戶體驗(yàn)??梢栽O(shè)置控件的無(wú)障礙是否可見(jiàn)的屬性將其
    發(fā)表于 10-23 09:47

    HarmonyOS NEXT應(yīng)用元服務(wù)開(kāi)發(fā)標(biāo)注屏幕朗讀內(nèi)容的場(chǎng)景

    。 對(duì)于文本類控件,如果除顯示文本外,還額外提供了顏色等視覺(jué)效果為視力健全用戶提供了更多信息的場(chǎng)景,可采用無(wú)障礙文本為視障用戶提供更多的信息用于朗讀。 對(duì)于非文本類控件,可采用無(wú)障礙
    發(fā)表于 10-12 15:52

    開(kāi)發(fā)者大會(huì)成功舉辦 vivo用科技搭建人與數(shù)字世界的無(wú)障礙橋梁

    2024年10月10日,vivo開(kāi)發(fā)者大會(huì)在深圳舉辦,其中信息無(wú)障礙分會(huì)場(chǎng)受到外界廣泛關(guān)注。vivo副總裁、OS產(chǎn)品副總裁、vivo AI全球研究院院長(zhǎng)周?chē)叭珖?guó)政協(xié)委員,中國(guó)殘疾人聯(lián)合會(huì)理事,中國(guó)
    發(fā)表于 10-12 14:18 ?148次閱讀
    開(kāi)發(fā)者大會(huì)成功舉辦 vivo用科技搭建人與數(shù)字世界的<b class='flag-5'>無(wú)障礙</b>橋梁

    HarmonyOS NEXT應(yīng)用元服務(wù)開(kāi)發(fā)Accessibility(信息無(wú)障礙)介紹

    添加無(wú)障礙焦點(diǎn)、無(wú)障礙朗讀文本等。一、能力范圍 無(wú)障礙狀態(tài)查詢:為應(yīng)用提供無(wú)障礙服務(wù)開(kāi)啟狀態(tài)、觸摸瀏覽開(kāi)啟狀態(tài)查詢接口,以便應(yīng)用根據(jù)無(wú)障礙
    發(fā)表于 10-09 10:29

    華為致力于推動(dòng)無(wú)障礙技術(shù)發(fā)展

    的智能生活新紀(jì)元。這場(chǎng)聚焦前沿科技的盛會(huì)并未止步于技術(shù)的展示,而是進(jìn)一步拓展至人文情懷與平等包容,用一場(chǎng)“湖畔對(duì)談”無(wú)障礙活動(dòng)以及TECH4ALL數(shù)字包容展館,為我們呈現(xiàn)了一次科技與人文的對(duì)話。 ? 今年已經(jīng)是第三年,華為在HDC現(xiàn)場(chǎng)舉辦與華為無(wú)障礙用戶交流
    的頭像 發(fā)表于 06-29 16:13 ?747次閱讀

    鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【無(wú)障礙屬性】 通用屬性

    組件可以設(shè)置相應(yīng)的無(wú)障礙屬性和事件來(lái)更好地使用無(wú)障礙能力。
    的頭像 發(fā)表于 06-11 17:30 ?415次閱讀
    鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【<b class='flag-5'>無(wú)障礙</b>屬性】 通用屬性

    功能測(cè)試主要做什么 功能測(cè)試包含哪些測(cè)試

    功能測(cè)試是軟件測(cè)試的一個(gè)重要組成部分,主要目的是驗(yàn)證軟件的功能是否滿足需求規(guī)格說(shuō)明書(shū)(SRS)中定義的功能要求。
    的頭像 發(fā)表于 05-29 16:05 ?5546次閱讀

    YouTube Premium新功能精彩部分跳轉(zhuǎn)”上線,用戶喜好預(yù)測(cè)跳轉(zhuǎn)功能亮相

    這項(xiàng)服務(wù)基于AI技術(shù)和用戶數(shù)據(jù)分析,能夠準(zhǔn)確預(yù)測(cè)用戶可能感興趣的視頻片段,并直接跳轉(zhuǎn)至最精彩的部分。自今年3月起,YouTube已開(kāi)始進(jìn)行此功能測(cè)試,最初僅向美國(guó)的部分高級(jí)用戶開(kāi)放,而如今所有YouTube高級(jí)會(huì)員均可在you
    的頭像 發(fā)表于 05-06 16:25 ?947次閱讀

    索尼攜四大產(chǎn)品方案亮相高博會(huì),助力課堂更加智能靈活、精彩高效

    4月15-17日,第61屆中國(guó)高等教育博覽會(huì)(HEEC)在福州海峽國(guó)際會(huì)展中心隆重召開(kāi)。索尼攜眾多教育信息化和智慧化核心產(chǎn)品及方案亮相本次盛會(huì),以“索尼助力智能課堂”為主題,依托先進(jìn)的“影像+AI”技術(shù),為參會(huì)者呈現(xiàn)適合線上線下混合式教學(xué)的創(chuàng)新體驗(yàn),讓智能教育課堂方案更加
    的頭像 發(fā)表于 04-16 11:15 ?514次閱讀
    索尼攜四大產(chǎn)品方案亮相高博會(huì),<b class='flag-5'>助力</b>課堂更加智能靈活、<b class='flag-5'>精彩</b>高效

    交通運(yùn)輸部大力推廣適老化無(wú)障礙交通服務(wù)

    4月3日,交通運(yùn)輸部發(fā)布了關(guān)于2024年適老化無(wú)障礙交通出行服務(wù)擴(kuò)容提質(zhì)增效的實(shí)施方案。方案明確了出租車(chē)電動(dòng)召回和網(wǎng)絡(luò)預(yù)約車(chē)輛的“一鍵召喚”服務(wù)要在地級(jí)市以上的所有城市實(shí)現(xiàn)全區(qū)覆蓋;
    的頭像 發(fā)表于 04-03 16:15 ?912次閱讀

    基于STM32H743IIT6開(kāi)發(fā)的代碼,是否能不經(jīng)修改無(wú)障礙地運(yùn)行在STM32H753IIT6上?

    基于 STM32H743IIT6 開(kāi)發(fā)的代碼,是否能不經(jīng)修改無(wú)障礙地運(yùn)行在STM32H753IIT6上?
    發(fā)表于 03-29 06:19

    真實(shí)用戶體驗(yàn),終端大模型能為信息無(wú)障礙做些什么

    終端大模型
    腦極體
    發(fā)布于 :2024年03月20日 17:04:44

    蘋(píng)果iOS 18和macOS 15無(wú)障礙功能升級(jí)

    Adaptive Voice Shortcuts功能可讓用戶把獨(dú)特的口語(yǔ)短語(yǔ)綁定到無(wú)障礙設(shè)定中。用戶能自行設(shè)定定制化短語(yǔ),只需講述這段話便能啟動(dòng)他們所需的輔助功能設(shè)置; 例如VoiceOver,語(yǔ)音控制,縮放等諸多現(xiàn)有輔助
    的頭像 發(fā)表于 03-08 11:08 ?733次閱讀

    AI如何助力我們構(gòu)建更智能的空間?利用AI構(gòu)建智能空間的5種方式

    當(dāng)下業(yè)界都聚焦于生成式 AI 如何推動(dòng)未來(lái)變革,但我們也不妨回顧一下過(guò)去的一年,AI 如何助力我們構(gòu)建更智能的空間。
    的頭像 發(fā)表于 01-24 18:19 ?1089次閱讀