アプリケーションが Microsoft Active Accessibility をサポートしていない場合は、完全にアクセスできない可能性があります。 次の手法では、部分的に互換性のあるコントロールをレンダリングします。
WM_GETTEXT メッセージを使用してコントロールのクエリを実行するときに、説明的な文字列を返します。 たとえば、"Print" というラベルの付いたボタン コントロールと同等のカスタム コントロールを使用して、文字列 "Print button" を返すようにします。これにより、コントロールの種類とラベルの両方が識別されます。 同じ文字列は、プリンターのグラフィックなど、テキスト以外のラベルを持つボタンに適しています。 同様に、チェック ボックスのように動作するカスタム コントロールが「印刷が有効なチェック ボックス、チェック済み」というキャプション文字列を返すようにします。
WM_GETDLGCODE メッセージをサポートし、サポートされているキーボード入力を識別します。 たとえば、カスタムの同等の編集コントロールで、選択を設定するメッセージを処理する場合はDLGC_HASSETSELを返し、方向キーを使用する場合はDLGC_WANTARROWSを返し、文字入力を使用することを示す場合はDLGC_WANTCHARSを返すことで、WM_GETDLGCODEを処理できるようにします。
手記
独自のウィンドウ ハンドルを持つコントロールのみが、WM_GETTEXTおよびWM_GETDLGCODEメッセージに応答できます。
アクセシビリティ補助との互換性の問題を回避するには、カスタム コントロールを設計するときに、Active Accessibility ガイドラインに厳密に従う必要があります。 アクセシビリティ支援との互換性の問題を回避する方法の詳細については、「アクセシビリティ の」セクションを参照してください。