Share via


協助工具最佳作法

注意事項注意事項

這份文件適用於想要使用 System.Windows.Automation 命名空間中定義之 Managed UI Automation 類別的 .NET Framework 開發人員。如需 UI Automation 的最新資訊,請參閱 Windows Automation API:使用者介面自動化 (英文)。

在控制項或應用程式中實作下列最佳做法,可以改善使用assistive technology裝置的使用者對它們的存取。 這些最佳做法大部分是著重在良好的user interface (UI) 設計。 每個最佳做法都會包含 Windows Presentation Foundation (WPF) 控制項或應用程式的實作資訊。 在許多情況下,WPF 控制項中已包含符合這些最佳做法的工作。

這個主題包含下列章節。

  • 程式設計存取
  • 使用者設定
  • 視覺 UI 設計
  • 巡覽
  • 多強制回應介面
  • 相關主題

程式設計存取

程式設計存取包括確保所有 UI 項目都加上標籤、公開屬性值,以及引發適當事件。 如果是標準 WPF 控制項,則這個工作絕大部分已透過 AutomationPeer 完成。 自訂控制項需要進行其他工作,才能確定程式設計存取已正確地實作。

啟用以程式設計方式存取所有 UI 項目和文字

User interface (UI) 項目應該啟用程式設計存取。 如果 UI 是標準 WPF 控制項,則控制項中會包含程式設計存取支援。 如果控制項是自訂控制項 (為通用控制項之子類別 (Subclass) 的控制項或為 Control 之子類別的控制項),則必須檢查 AutomationPeer 實作,找出可能需要修改的區域。

下列這個最佳做法允許assistive technology廠商識別和管理產品 UI 的項目。

在 UI 物件、畫面格和頁面上放置名稱、標題和描述

輔助技術 (特別是螢幕助讀員) 是透過標題來了解巡覽配置中之畫面格、物件和頁面的位置。 因此,標題必須十分具有描述性。 例如,如果使用者已往下巡覽至某個特定區域,則網頁標題 "Microsoft Web Page" 就沒有任何意義。 對視力不良以及需要依靠螢幕助讀員的使用者而言,具描述性的標題十分重要。 同樣地,如果是 Windows Presentation Foundation (WPF) 控制項,則assistive technology裝置的 NamePropertyHelpTextProperty 就十分重要。

下列這個最佳做法允許assistive technology識別和管理範例控制項和應用程式中的 UI。

確定所有 UI 活動都會觸發程式設計事件

下列這個最佳做法允許assistive technology接聽 UI 的變更,並通知使用者發生這些變更。

使用者設定

本節的最佳做法可確保控制項或應用程式不會覆寫使用者設定。

遵守所有系統範圍設定,而且不會干擾協助工具功能

使用者可以使用 [控制台] 設定一些系統範圍旗標,而其他旗標則可以用程式設計方式進行設定。 這些設定不應該透過控制項或應用程式進行變更。 而且,應用程式必須支援它們主機作業系統的協助工具設定。

下列這個最佳做法允許使用者設定協助工具設定,並知道應用程式不會變更那些設定。

視覺 UI 設計

本節的最佳做法可確保控制項或應用程式有效率地使用色彩和影像,而且可以供Assistive technologies使用。

不要硬式編碼色彩

色盲、視力不良或使用黑白螢幕的使用者,可能無法使用內含硬式編碼色彩的應用程式。

下列這個最佳做法允許使用者根據個人需要來調整色彩組合。

支援高對比和所有系統顯示屬性

應用程式不應該干擾或停用使用者選取的系統範圍對比設定、色彩選取或其他系統範圍顯示設定及屬性。 使用者採用的系統範圍設定可以增強應用程式的協助工具功能,因此應用程式不應該予以停用或忽略。 色彩應該用於應用程式的正確 foreground-on-background 組合中,以提供正確的對比。 不相關的色彩不應該混用,而且不應該反轉色彩。

許多使用者需要特定高對比組合 (如黑色背景上的白色文字)。 如果反向進行繪製 (如白色背景上的黑色文字),則會讓背景滲出前景,並讓某些使用者讀取困難。

確定根據任何 DPI 設定正確縮放所有 UI

確定可以根據任何 dots per inch (dpi) 設定正確縮放所有 UI。 同時也請確定 UI 項目可以放入 dots per inch (dpi) 為 120 的 1024 x 768 螢幕中。

巡覽

本節的最佳做法可確保已處理控制項和應用程式的巡覽。

提供所有 UI 項目的鍵盤介面

定位停駐點 (Tab Stop) (特別是妥善規劃時) 可以提供給使用者另一種巡覽 UI 的方式。

應用程式應該提供下列鍵盤介面:

  • 適用於使用者可以與之互動的所有控制項 (如按鈕、連結或清單方塊) 的定位停駐點

  • 邏輯定位點順序

顯示鍵盤焦點

使用者需要知道哪個物件具有鍵盤焦點,這樣他們才可以預期他們按鍵的效果。 若要反白顯示鍵盤焦點,請使用色彩、字型或圖形 (如矩形或縮放比例)。 若要聽得到反白顯示鍵盤焦點,則請變更音量、音高或音調品質。

為免混淆,應用程式應該隱藏所有視覺焦點指示器 (Indicator),並將位在非現用視窗 (或窗格) 中的選項調暗。

應用程式應該對鍵盤焦點進行下列處理:

  • 一律應該只有一個項目具有鍵盤焦點

  • 鍵盤焦點應該看得到而且明顯 (Obvious)

  • 應該以視覺化方式反白顯示選項和 (或) 具有焦點的項目

支援巡覽標準和功能強大的巡覽配置

鍵盤巡覽的不同部分提供不同的方式,讓使用者可以巡覽 UI。

應用程式應該提供下列鍵盤介面:

  • 所有命令、功能表和控制項的快速鍵和加上底線的便捷鍵 (Access Key)

  • 重要連結的鍵盤快速鍵

  • 所有功能表項目都會有便捷鍵、所有按鈕都會有快速鍵,而所有命令都會有快速鍵

不要讓滑鼠位置干擾鍵盤巡覽

滑鼠位置不應該干擾鍵盤巡覽。 例如,如果滑鼠定位在某個位置,而使用者使用鍵盤進行巡覽,則在使用者啟始按一下滑鼠動作之前,都不會發生按一下滑鼠動作。

多強制回應介面

本節的最佳做法可確保應用程式 UI 包含視覺項目的替代項目。

提供非文字項目的使用者可選取對等項目

針對每個非文字項目,提供使用者可選取的文字、文字記錄或音效描述對等項目 (如 alt 文字、標題或視覺化回應)。

非文字項目涵蓋大範圍的 UI 項目,包含影像、影像對應區域、動畫、小程式、畫面格、指令碼、圖形按鈕、音效、獨立音訊檔案和視訊。 如果使用者必須存取非文字項目包含的視覺化資訊、語音或一般音訊資訊,才能了解 UI 內容,非文字項目就十分重要。

使用色彩但也提供色彩的替代項目

雖然使用色彩可以增強、強調或重複透過其他方法顯示的資訊,但是並不會單獨使用色彩來溝通資訊。 色盲或擁有單色顯示器的使用者則需要有色彩的替代項目。

搭配使用標準輸入 API 以及與裝置無關的呼叫

與裝置無關 (Device-Independent) 的呼叫可以在提供assistive technology所需的 UI 資訊的同時,確保鍵盤和滑鼠功能品質。

請參閱

工作

NumericUpDown Custom Control with Theme and UI Automation Support Sample

參考

System.Windows.Automation.Peers

其他資源

鍵盤使用者介面設計方針