私たちのアプリケーションをよりアクセスしやすくするためにレビューしています。私はカスタムビューに問題があります。注:Xamarin/C#を使用していますが、同じAPIをフードの下で使用しているため、これはうまくいけば何も変わりません。カスタムビューでVoiceOverから「タップ」を処理する
このカスタムビューは、基本的に「スライドをロック解除する」ジェスチャに似ています。 VoiceOverを有効にすると、ユーザーは「スライドする」ことはできませんが、ダブルタップで表示/ボタンをアクティブにすることができます。
このビューは、UIVIew
の子で構成されたUIView
のサブクラスであり、左から右にジェスチャをキャッチするUIPanGestureRecognizer
です。
私は親クラスへのアクセシビリティ情報を追加することによって開始:VoiceOverのは、正しく代わりにサブビューをチェックする、1つのビューとしてのスライダーを見
IsAccessibilityElement = true;
AccessibilityTraits = UIAccessibilityTrait.Button;
AccessibilityLabel = "...";
。ただし、「VoiceOverダブルタップ」ジェスチャーを使用して起動することはできません。
UIView
の代わりにUIControl
をサブクラス化し、sendAction()を上書きしようとしましたが、このメソッドは呼び出されません。
私はコントロールへのUIAccessibilityTraitAllowsDirectInteraction
特性を設定したくありません。これは、アプリケーションのアクセスを妨げてしまうからです。
"ダブルタップ"をキャッチして、ユーザーがコントロールをスライドさせたときに実行する必要がある操作を実行するにはどうすればよいですか?