協助工具測試
本主題介紹各種工具和流程,可協助您驗證 Windows 和 Web 應用程式的協助工具實作。
成功的使用者體驗
提供程式設計存取和鍵盤存取能力,是支援應用程式協助工具的關鍵要求。 針對 Windows 應用程式、輔助技術 (AT) 工具和 UI 架構的協助工具進行測試,對於確保各種身心障礙和行動不便人士 (包括視力、學習能力、靈活度/行動能力以及語言/溝通障礙) 或單純喜歡使用鍵盤的使用者獲得成功的體驗至關重要。
少了無障礙技術 (AT) 的充分支援,例如螢幕助讀程式和螢幕小鍵盤,上述使用者可能會發現自己很難甚至根本無法使用您的應用程式。
協助工具測試工具
協助工具深入解析
Accessibility Insights (協助工具深入解析) 可協助開發人員找出並修正網站和 Windows 應用程式中的協助工具相關問題。
- Accessibility Insights for Windows 可協助開發人員找出並修正 Windows 應用程式中的協助工具問題。 此工具支援三種主要案例:
- Live Inspect 可藉由將滑鼠停留在元素上方或設定鍵盤焦點,協助開發人員確認應用程式中的元素是否具有正確的 UI 自動化屬性。
- FastPass - 一個輕量型雙步驟流程,可協助開發人員在五分鐘內找出有重大影響的常見協助工具問題。
- Troubleshooting (疑難排解) 可讓您診斷並修正特定的協助工具問題。
- Accessibility Insights for Web (適用於 Web 的協助工具深入解析) 是適用於 Chrome 和 Microsoft Edge Insider 的擴充功能,協助開發人員找出並修正 Web 應用程式和網站中的協助工具問題。 此工具支援兩種主要案例:
- FastPass - 一個輕量型雙步驟流程,可協助開發人員在五分鐘內找出有重大影響的常見協助工具問題。
- 評定 - 可讓任何人確認網站完全符合協助工具標準和指導方針。 Accessibility Insights 也可讓您檢查 UI 自動化元素、屬性、控制項模式和事件 (類似於下一節中說明的 Inspect 和 AccEvent 舊版工具)。
舊版測試工具
注意
本節所述的工具仍可在 Windows SDK 中使用,但我們強烈建議改用 Accessibility Insights。
Windows Software Development Kit (SDK) 內含多個協助工具測試工具,包括 AccScope、Inspect 和 UI Accessibility Checker 等。
您可以從 Microsoft Visual Studio 命令提示字元、或導覽至開發電腦上安裝 Windows SDK 的 bin 資料夾,來啟動下列協助工具測試工具。
AccScope
AccScope 可讓您在早期設計和開發階段,針對應用程式的協助工具進行視覺化評估。 AccScope 特別適合用來測試朗讀程式協助工具案例,並會使用應用程式提供的 UI 自動化資訊,顯示協助工具可以改進的地方。
檢查
Inspect 可讓您選取任何 UI 元素,並查看其協助工具資料。 您可以查看 Microsoft UI 自動化屬性和控制項模式,並測試 UI 自動化樹狀目錄中的自動化元素導覽結構。 在擴充常用控制項或建立自訂控制項時,此工具對於確保正確設定屬性和控制項模式特別有用。
當您開發 UI 時,請使用 Inspect 確認協助工具屬性如何在使用者介面自動化中公開。 在某些情況下,屬性來自已經為預設 XAML 控制項實作的使用者介面自動化支援。 在其他情況下,屬性來自已經在 XAML 標記中設定的特定值,如 AutomationProperties 附加屬性。
下圖顯示 Inspect 工具正在查詢記事本中 [編輯] 功能表元素的 UI 自動化屬性。
UI Accessibility Checker
UI Accessibility Checker (AccChecker) 可協助您在執行階段探索潛在的協助工具問題。 AccChecker 包含 UI 自動化、Microsoft Active Accessibility 和 Accessible Rich Internet Applications (ARIA) 的驗證檢查。 此工具可以提供靜態錯誤檢查,例如缺少名稱、樹狀目錄問題等。 它有助於驗證程式設計存取,並包含進階的自動化協助工具測試功能。 AccChecker 可以在 UI 或命令列模式中執行。 若要執行 UI 模式工具,請開啟 Windows SDK bin 資料夾中的 AccChecker 資料夾,執行 acccheckui.exe,然後按一下 [說明] 功能表。
UI 自動化驗證
UI Automation Verify (UIA Verify) 是一種手動和自動化測試架構,可用來測試控制項或應用程式內部的 UI 自動化實作結果 (可記錄測試結果)。 UIA Verify 可以整合到測試程式碼中,對 UI 自動化場景定期進行自動測試或抽查,並可用於驗證具有既定功能的應用程式在經過變更之後,是否會產生新的問題或功能衰退。 UIA Verify 位於 Windows SDK [bin] 資料夾的 [UIAVerify] 子資料夾中。
Accessible Event Watcher
Accessible Event Watcher (AccEvent) 會測試應用程式的 UI 元素是否會在 UI 發生變更時,引發正確的 UI 自動化和 Microsoft Active Accessibility 事件。 當焦點改變、叫用/選取 UI 元素,或是狀態或屬性發生變更時,UI 就可能會發生變更。 AccEvent 通常用來偵錯問題,並驗證自訂和擴充控制項是否正常運作。
協助工具測試程序?
測試鍵盤協助工具
測試鍵盤協助工具的最佳方法是拔下滑鼠,或是使用螢幕小鍵盤 (如果您正在使用平板電腦裝置)。 使用 Tab 鍵,測試鍵盤協助工具的導覽功能。 您應該要能使用 Tab 鍵,循環導覽所有互動式 UI 元素。 針對複合 UI 元素,請驗證您是否可以使用方向鍵,在元素的各個部分之間導覽。 例如,您應該要能使用鍵盤按鍵導覽項目清單。 最後,請確認一旦這些元素獲得焦點,您就可以使用鍵盤 (通常是使用 Enter 或空白鍵) 呼叫所有互動式 UI 元素。
確認可見文字的對比率
色彩對比工具可用來確認可見文字的對比率是否符合標準。 例外狀況包括非使用中的 UI 元素,以及未傳達任何資訊、而且可以重新排列而不會改變其意義的標誌或裝飾性文字。 如需對比率和例外狀況的詳細資訊,請參閱協助工具文字的需求。 如需可測試對比率的工具,請參閱適用於 WCAG 2.0 G18 的技術 (「資源」一節)。
注意
「適用於 WCAG 2.0 G18 的技術」列出的某些工具無法與 UWP 應用程式互動使用。 您可能需要在相關工具中手動輸入前景和背景色彩值;製作應用程式 UI 的螢幕擷取畫面,然後針對螢幕擷取影像執行對比率工具;或是在影像編輯程式中開啟來源點陣圖檔案時執行此工具,而不是在應用程式載入該影像時執行。
驗證應用程式在高對比主題下的表現
在啟用高對比佈景主題時使用您的應用程式,以驗證所有 UI 元素是否都正確顯示。 所有文字都應清晰可讀,且所有影像都應清楚可見。 調整 XAML 主題字典資源或控制項範本,以修正源自於控制項的任何佈景主題問題。 如果有醒目的高對比問題不是來自主題或控制項 (例如來自影像檔案),請另外提供可以在啟用高對比佈景主題時使用的版本。
驗證顯示設定對應用程式的影響
使用系統顯示選項,調整顯示器的每英吋點數 (dpi) 值,並確保當 dpi 值變更時,您的應用程式 UI 會正確縮放。 (有些使用者將變更 dpi 值做為一種協助工具選項;此功能可透過輕鬆存取以及顯示屬性存取)。如果您發現任何問題,請遵循版面配置縮放比例指導方針,並為不同的縮放比例提供其他資源。
使用朗讀程式驗證主要應用程式場景
使用朗讀程式,測試應用程式的螢幕朗讀體驗。
請搭配使用滑鼠、鍵盤和朗讀程式,按照以下步驟測試您的應用程式:
- 按下 Windows 標誌鍵 + Ctrl + Enter 以啟動朗讀程式。 在 Windows 10 1607 之前的版本中,請使用 Windows 標誌鍵 + Enter 來啟動朗讀程式。
- 使用 Tab 鍵、方向鍵和 Caps Lock + 方向鍵,使用鍵盤導覽您的應用程式。
- 當您瀏覽應用程式時,請聆聽朗讀程式讀出的 UI 元素,並確認下列各項:
- 針對每個控制項,確認朗讀程式唸出了所有可見內容。 此外,請確認朗讀程式讀出了每個控制項的名稱、任何適用的狀態 (已勾選、已選取等) 以及控制項類型 (按鈕、核取方塊、清單項目等)。
- 如果是互動式元素,請按下 Caps Lock + Enter,確認您可以使用朗讀程式來叫用該元素的動作。
- 針對每個資料表,請確認朗讀程式正確讀出了資料表名稱、資料表描述 (如果有的話),以及資料列和資料欄的標題。
- 按 Caps Lock + Shift + Enter 來搜尋您的應用程式,並確認所有控制項都出現在搜尋清單中,且控制項名稱已當地語系化並可讀出。
- 關閉顯示器,嘗試僅使用鍵盤和朗讀程式來完成主要應用程式場景。 如需朗讀程式命令和捷徑的完整清單,請按 Caps Lock + F1。
從 Windows 10 版本 1607 開始,我們在朗讀程式中推出了新的開發人員模式。 在朗讀程式執行期間按下 Control + Caps Lock + F12,即可開啟開發人員模式。 啟用開發人員模式後,螢幕將會加上遮罩,而且只會醒目顯示可存取的物件,以及以程式設計方式公開給朗讀程式的相關文字。 如此便能很直觀地呈現朗讀程式所能「看見」的資訊。
使用朗讀程式的觸控模式,按照以下步驟測試您的應用程式:
注意
在支援 4 名以上聯絡人的裝置上,朗讀程式會自動進入觸控模式。 朗讀程式不支援多顯示器場景,或是主螢幕上的多點觸控數位板。
熟悉 UI,並探索版面配置。
- 使用單指撥動手勢瀏覽 UI。 使用向左或向右撥動在項目之間移動,並使用向上或向下撥動來變更要瀏覽的項目類別。 類別包括所有項目、連結、資料表、標頭等。 使用單指撥動手勢瀏覽,類似於使用 Caps Lock + Arrow 進行導覽。
- 使用定位手勢,瀏覽可設定焦點的元素。 向右或向左撥動三指,與使用鍵盤上的 Tab 和 Shift + Tab 瀏覽相同。
- 用一根手指對 UI 進行空間調查。 向上和向下拖曳單指,或向左和向右拖曳單指,讓朗讀程式唸出手指下的項目。 您可以使用滑鼠作為替代方案,因為滑鼠的點擊測試邏輯與拖曳單根手指相同。
- 用三指向上撥動,以讀出整個視窗及其所有內容。 這相當於使用 Caps Lock + W。
如果無法存取重要的 UI,代表可能發生了協助工具問題。
與控制項互動以測試其主要和次要動作,以及其捲動行為。
主要動作包括啟動按鈕、放置文字插入點,以及為控制項設定焦點等。 次要動作包括選擇清單項目、展開提供多個選項的按鈕等。
- 若要測試主要動作:請點兩下,或按住一根手指並用另一根手指點擊。
- 若要測試次要動作:請點三下,或按住一根手指並用另一根手指點兩下。
- 若要測試捲動行為:使用雙指撥動,朝所需的方向捲動。
有些控制項會提供其他動作。 若要顯示完整清單,請以四指點一下。
如果控制項回應了滑鼠或鍵盤,但未回應主要或次要觸控互動,則控制項可能需要實作其他 UI 自動化控制項模式。
您也應該考慮使用 AccScope 工具,測試應用程式中的朗讀程式協助工具場景。 AccScope 工具主題說明如何設定 AccScope 來測試朗讀程式場景。
檢查應用程式的 UI 自動化表示法
前面提及的幾個 UI 自動化測試工具提供了一種檢查應用程式的方法,這種方法刻意不考慮應用程式的外觀,而是將應用程式表示為 UI 自動化元素的結構。 這正是 UI 自動化用戶端 (主要是輔助技術) 與您的應用程式在協助工具場景中互動的方式。
AccScope 工具提供的應用程式觀點特別有趣,因為您可以透過視覺化表示或清單形式來查看 UI 自動化元素。 您可以使用視覺化功能深入了解應用程式 UI 中的各個部分,並推斷出其視覺外觀。 您甚至可以在為 UI 指派所有邏輯之前,先測試最初 UI 原型的協助工具,藉此確保應用程式的視覺互動與無障礙場景導覽之間能夠達到平衡。
您可以測試的其中一個項目是,UI 自動化元素檢視中是否出現了您不希望出現的元素。 如果您發現要從檢視中省略的元素,或是相反的情況 - 也就是缺少了特定的元素,則可以使用 AutomationProperties.AccessibilityView XAML 附加屬性來調整 XAML 控制項在協助工具檢視中的顯示方式。 查看基本的協助工具檢視之後,這也是重新檢查定位順序或空間導覽 (由方向鍵啟用) 的一個良機,可確保使用者能夠觸及控制項檢視中每一個可互動且公開的部分。