.NET Core 3.0 の Windows フォーム コントロールでのアクセシビリティ向上

Windows フォームでは、Windows フォームのお客様のサポートを向上させるために、アクセシビリティ テクノロジを使用する動作を改善し続けています。 次のような改善点があります。

  • ナレーターなど、アクセシビリティ クライアント アプリケーションとの対話式操作のさまざまな領域の変更。
  • アクセス可能な階層の変更 (UI オートメーション ツリー間の移動の改善)。
  • キーボード ナビゲーションの変更。

重要

.NET Core 3.0 以降に .NET Framework 4.7.1 から .NET Framework 4.8 で行われたアクセシビリティの変更が含まれ、既定で有効になっています。 .NET Framework では、アプリケーションで、新しいアクセシビリティ動作のオプトアウトができる互換性スイッチがサポートされました。 一方、.NET Core ではこれらの設定はサポートされず、アプリケーションで、アクセシビリティ動作のオプトアウトはできません。

.NET Core 3.0 以降は、Windows フォーム アプリケーションから、追加の構成なしですべての新しい (.NET Framework 4.7.1 から 4.8 で導入された) アクセシビリティ機能を利用できます。

ListBox のアクセシビリティ サポート

次の変更が ListBox コントロールに適用されます。

  • ListBox コントロールの UI オートメーション サポートを有効にしました。
  • ScrollItemPatternListBox 項目に追加し、アクセシビリティ イベントの発生および処理と項目間のナレーター ナビゲーションを強化することにより、ListBox のアクセシビリティ サポートを改善しました (CapsLock ナビゲーションは正しくなく、ナビゲーションが意図せずにコントロールの外にスローされることはありません)。

CheckedListBox のアクセシビリティ サポート

次の変更が CheckedListBox コントロールに適用されます。

  • エントリのアクセシビリティ プロパティによって提供される CheckedListBox 境界を修正しました。
  • ListBoxCheckedListBox の全体的なアクセシビリティを改善: プロパティ値とイベント モデルを修正しました。

ComboBox のアクセシビリティ サポート

次の変更が ComboBox コントロールに適用されます。

  • GetHashCode 関数がオーバーライドされている場合に安全でない可能性があるため、項目からハッシュ コードを取得するのではなく、項目の ID を生成できるように、ComboBox 項目のアクセシビリティ オブジェクトを取得するプロセスを更新しました。

DataGridView のアクセシビリティ サポート

次の変更が DataGridView コントロールに適用されます。

  • 列、行、セル、および対応するヘッダーのアクセシビリティ プロパティによって提供される DataGridView.Bounds を修正し、四角形領域の計算のパフォーマンスを改善しました。 アクセシビリティのすべての境界が、コントロール全体の境界とそのビューポートを考慮して、正しく表示されています。
  • アクセス可能なクライアント アプリケーションを提供する Value.IsReadOnly プロパティ値を修正しました。 このプロパティに、セルの正しい IsReadOnly 状態が表示されるようになりました。
  • 最初のセル変更で CellParsing イベントが発生する問題を修正しました。 最初の DataGridView コントロールの対話式操作を含め、問題なくセル値を変更できます。
  • Windows ハイ コントラスト テーマを使用するときの DataGridView 背景色コントラストを改善しました。 HC#1、HC#2、HC ブラック テーマを使用するときの既定の DataGridView 背景色を変更しました。

PropertyGrid のアクセシビリティ サポート

次の変更が PropertyGrid コントロールに適用されます。

  • グリッド エントリのアクセシビリティ プロパティによって提供される PropertyGrid.Bounds を修正し、四角形領域の計算のパフォーマンスを改善しました。 現在、アクセシビリティのすべての境界が、コントロール全体の境界とそのビューポートを考慮して、正しく表示されています。
  • コントロールの型名を含まないように、またコントロールの型名が 2 回アナウンスされないように、アクセス可能な名前とサブコントロールの説明を修正しました。

ToolStrip のアクセシビリティ サポート

次の変更が ToolStrip コントロールに適用されます。

  • ToolStripMenuStripStatusStrip 項目間の移動を改善しました。 ToolStripMenuStrip の Shift + Tab ナビゲーションを修正し、Shift + Tab キーと上矢印キーが押されたときにメニュー項目をバックループさせ、一番下のメニュー要素に移動するようにしました。
  • MenuStrip のアクセス可能なナビゲーションを改善し、サブメニューのメニューのアクセス可能コントロール タイプを修正して、'MenuItem' の代わりに 'Menu' 型のサブメニューを作成しました。

PrintPreviewControl および PrintPreviewDialog のアクセシビリティ サポート

次の変更が print コントロールに適用されます。

  • メニュー項目間のアクセス可能ナビゲーション (ナレーター ナビゲーションを含む) を改善しました。
  • ハイ コントラスト テーマのサポートを改善し、コントロール要素のコントラストを強くしました。

StringCollectionEditor のアクセシビリティ サポート

Windows フォーム デザイナーで、アクセシビリティ サポートを改善した文字列コレクション エディターを利用できるようになりました。

MonthCalendar のアクセシビリティ サポート (.NET Core 3.1 で利用可能)

次の変更が MonthCalendar コントロールに適用されます。

  • UI オートメーション サーバー プロバイダーを MonthCalendar コントロールに追加し、UI オートメーション グリッド パターンとテーブル パターン プロバイダーを追加しました。
  • table アクセス可能コントロール タイプを MonthCalendarcalendar アクセス可能コントロール タイプに変更しました。例外は、コントロールに MonthCalendar コントロールのアクセス可能な名前が定義されるラベル コントロールが先行してある場合で、この特別な場合は、アクセス可能コントロール タイプが table になります。
  • MonthCalendar コントロールの選択された日付のアナウンスを改善しました。
  • スクリーン リーダーやその他のアクセシビリティ ツールの MonthCalendar コントロール サポートを改善しました。 現在、ユーザーは、コントロール要素を移動し、キーボードのみの入力を使用してこれらの要素を操作できます。 ナレーターでは、コントロール要素間の移動に CapsLock キー + 矢印キー、要素の既定のアクションに CapsLock + Enter キーを使用します。
  • MonthCalendar 子要素間の矢印キー ナビゲーションを、フォーカスした四角形 (ナレーター用にフォーカスした青色の四角形) を使って改善しました。
  • 指定された座標によって MonthCalendar 子アクセス可能要素を取得できるように、MonthCalendar コントロール要素のヒット テスト アクションのアクセシビリティを改善しました。

ToolTips アクセシビリティ (.NET Core 3.1 で使用可能)

  • NVDA やナレーターなどのスクリーン リーダー アプリケーションによるツールヒント テキストのアナウンス機能を追加しました。 スクリーン リーダー アプリケーションで、ツールヒントを表示するように構成されている Windows フォーム コントロールのキーボードまたはマウスのツールヒントのテキストをアナウンスできるようになりました。

DataGridView、PropertyGrid、ListBox、ComboBox、ToolStrip、およびその他のコントロールの UI オートメーション サポート

UI オートメーション サポートは、実行時にコントロールに対して有効になりますが、デザイン時には使用されません。 UI オートメーションの概要については、「UI オートメーションの概要」を参照してください。

関連項目