適用於 .NET 的 Windows Forms 控件的輔助功能改善

Windows Forms 持續改善本身與協助工具技術的搭配運作,為 Windows Forms 客戶提供更良好的支援。 這些改進包括下列變更:

  • 與無障礙用戶端應用程式的多個互動領域有所變更,包括朗讀程式。
  • 可存取階層中的變更(改善透過UI自動化樹狀結構的流覽)。
  • 鍵盤瀏覽中的變更。

這很重要

.NET Framework 4.7.1 到 .NET Framework 4.8 中的輔助功能變更會包含在 .NET 中,且預設為啟用。 .NET Framework 支援相容性切換,允許應用程式選擇不使用新無障礙功能行為。 另一方面,.NET 不支持這些設定,也不允許應用程式退出輔助功能行為。

.NET Windows Forms 應用程式受益於所有新的輔助功能功能(在 .NET Framework 4.7.1 - 4.8 中引進),而不需要額外的設定。

ListBox 無障礙支援

以下變更適用於 ListBox 控制項:

  • 已啟用對ListBox控制項的 UI 自動化支援。
  • 已改善 ListBox 的無障礙支援,方法包括將 ScrollItemPattern 新增至 ListBox 項目,並加強觸發和處理無障礙事件,增強朗讀程式(如 Narrator)對於項目的瀏覽。注意:大寫鎖定鍵導覽不正確,且這種導覽可能會意外使控制項外的瀏覽發生。

CheckedListBox 協助工具支援

以下變更適用於 控制項:

  • 已更正由輔助功能屬性提供的CheckedListBox界限。
  • 已改善整體的 ListBoxCheckedListBox 易用性:更正了屬性值和事件模型。

ComboBox 無障礙支援

下列變更適用於 ComboBox 控制項:

  • 已更新獲取ComboBox項目的協助工具物件的程序,啟用為項目生成識別碼的功能,而不是從項目取得雜湊碼,因為如果GetHashCode函式被覆寫,這樣做可能不安全。

DataGridView 無障礙支援

下列變更適用於 DataGridView 控制項:

  • 已更正由資料行、資料列、儲存格和對應標頭的協助工具屬性提供的資訊,改善了邊界矩形計算的效能。 所有協助工具界限都會正確表示,將整個控制項的界限及其檢視區納入考量。
  • 已更正 Value.IsReadOnly 屬性值,以提供用於無障礙用戶端應用程式。 該屬性現已會顯示儲存格的正確 IsReadOnly 狀態。
  • 修正了第一個儲存格變更時 CellParsing 事件引發的問題。 儲存格的值可以更改,且不會有任何問題,包括第一次 DataGridView 控制項互動。
  • 改進了使用 Windows 高對比佈景主題時的 DataGridView 背景顏色對比。 已變更使用 HC#1、HC#2 和 HC 黑色佈景主題時的 DataGridView 預設背景顏色。

PropertyGrid 無障礙功能支援

下列變更適用於 PropertyGrid 控制項:

  • 已更正由協助工具屬性為網格條目提供的PropertyGrid.Bounds,改善了邊界矩形計算的效能。 現在,所有輔助功能界限都會正確表示,將整個控制項的界限及其視圖區域納入考量。
  • 已更正子控制項的可存取名稱和描述,使其不包含控制項類型名稱,並且避免重複讀出控制項類型名稱。

ToolStrip 無障礙支援

下列變更適用於 ToolStrip 控制項:

  • 改進了通過 ToolStripMenuStripStatusStrip 項目的瀏覽。 已更正 ToolStripMenuStrip 的 shift-tab 瀏覽功能,當按下 shift-tab 及上箭頭時,功能表項目會回繞至底部功能表元素。
  • 已改善可存取的MenuStrip導覽,更正了子功能表的可存取控制項類型,使子功能表屬於 'Menu' 類型,而不是 'MenuItem' 類型。

PrintPreviewControl 和 PrintPreviewDialog 無障礙支援

下列變更適用於列印控制項:

  • 已改善選單項目的無障礙導覽 (包括朗讀程式導覽)。
  • 已改善高對比佈景主題支援,並提高控制項元素的對比度。

StringCollectionEditor 無障礙支援

Windows Forms 設計工具現在使用已改善輔助功能支援的字串集合編輯器。

MonthCalendar 無障礙支援

下列變更適用於 MonthCalendar 控制項:

  • 已將 UI 自動化伺服器提供者新增至 MonthCalendar 控制項,並新增了 UI 自動化格線模式和表格模式提供者。
  • 已將 資料表 的可存取控制項類型變更為 行事曆 的可存取控制項類型,但在控制項已有標籤控制項定義了 MonthCalendar 控制項可存取名稱時除外;在這種特定情況下,可存取控制項類型會變成 資料表
  • 已改善朗讀 MonthCalendar 控制項選定日期的表現。
  • 已改善對螢幕助讀程式和其他輔助工具的 MonthCalendar 控制支援。 現在,使用者可以瀏覽控制項元素,並使用僅限鍵盤輸入與這些元素互動。 使用朗讀程式時,可使用 CAPS + 方向鍵瀏覽控制項元素,並使用 CAPS + Enter 鍵來叫用元素預設動作。
  • 改善在 MonthCalendar 子元素中使用方向鍵進行聚焦矩形導航:藍色焦點矩形用於朗讀員。
  • 改進了 MonthCalendar 控制項元素的點擊測試操作的可存取性,允許借由提供的座標獲得 MonthCalendar 子可存取元素。

工具提示的無障礙功能

  • 已新增透過螢幕助讀應用程式 (例如 NVDA 和朗讀程式) 讀出工具提示文字的功能。 螢幕助讀應用程式現在可以為任何設定為會顯示工具提示的 Windows Forms 控制項讀出其鍵盤或滑鼠工具提示的文字。

DataGridView、PropertyGrid、ListBox、ComboBox、ToolStrip 和其他控制項的 UI 自動化支援

在執行階段會為控制項啟用 UI 自動化支援,但不會在設計階段使用。 如需 UI 自動化的概觀,請參閱 UI 自動化概觀

另請參閱

  • 無障礙最佳實踐