.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 オートメーション サポートを有効にしました。- ScrollItemPattern を
ListBox
項目に追加し、アクセシビリティ イベントの発生および処理と項目間のナレーター ナビゲーションを強化することにより、ListBox
のアクセシビリティ サポートを改善しました (CapsLock ナビゲーションは正しくなく、ナビゲーションが意図せずにコントロールの外にスローされることはありません)。
CheckedListBox のアクセシビリティ サポート
次の変更が CheckedListBox コントロールに適用されます。
- エントリのアクセシビリティ プロパティによって提供される
CheckedListBox
境界を修正しました。 ListBox
とCheckedListBox
の全体的なアクセシビリティを改善: プロパティ値とイベント モデルを修正しました。
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 コントロールに適用されます。
ToolStrip
、MenuStrip
、StatusStrip
項目間の移動を改善しました。ToolStrip
とMenuStrip
の Shift + Tab ナビゲーションを修正し、Shift + Tab キーと上矢印キーが押されたときにメニュー項目をバックループさせ、一番下のメニュー要素に移動するようにしました。MenuStrip
のアクセス可能なナビゲーションを改善し、サブメニューのメニューのアクセス可能コントロール タイプを修正して、'MenuItem' の代わりに 'Menu' 型のサブメニューを作成しました。
PrintPreviewControl および PrintPreviewDialog のアクセシビリティ サポート
次の変更が print コントロールに適用されます。
- メニュー項目間のアクセス可能ナビゲーション (ナレーター ナビゲーションを含む) を改善しました。
- ハイ コントラスト テーマのサポートを改善し、コントロール要素のコントラストを強くしました。
StringCollectionEditor のアクセシビリティ サポート
Windows フォーム デザイナーで、アクセシビリティ サポートを改善した文字列コレクション エディターを利用できるようになりました。
MonthCalendar のアクセシビリティ サポート (.NET Core 3.1 で利用可能)
次の変更が MonthCalendar コントロールに適用されます。
- UI オートメーション サーバー プロバイダーを
MonthCalendar
コントロールに追加し、UI オートメーション グリッド パターンとテーブル パターン プロバイダーを追加しました。 - table アクセス可能コントロール タイプを
MonthCalendar
の calendar アクセス可能コントロール タイプに変更しました。例外は、コントロールに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 オートメーションの概要」を参照してください。
関連項目
.NET Desktop feedback
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示