問題タブ [accessibility-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
11349 参照

cocoa - Cocoa のアクセシビリティ API を使用して、ウィンドウが前面に表示されたことを検出するにはどうすればよいですか?

Accessibility API を使用して、特定のアプリケーションがウィンドウを開いたり、ウィンドウを閉じたり、ウィンドウが移動またはサイズ変更されたり、メインになったり、フォーカスされたりしたことを検出しています。ただし、クライアント アプリは、アクセシビリティ API 通知が発生せずにウィンドウを前面に移動しているようです。

別のアプリケーションがウィンドウを前面に移動したことをアプリケーションがキーにせずに検出するにはどうすればよいですか?

OS X 10.4 および 10.5 で動作するソリューションを見つけたいと思っています。

詳細: 現在、これらのステートメントを使用しています。ユーザーがウィンドウを手動で選択して前面に表示すると、正常に機能します。ただし、アプリ自体がウィンドウを前面に表示している場合は機能しません。

0 投票する
1 に答える
1858 参照

cocoa - Cocoa アクセシビリティ API、バックグラウンドでウィンドウをアクティブにせずにクリックできますか?

私はこれに対する解決策を永遠に探していたので、私よりも優れた精神の頭脳を探し出すことにしました. Accessibility API を使用して別のプログラムを操作する Cocoa アプリを開発しています (これはホットキー アプリです)。私が制御しているアプリでは通常、複数のウィンドウが開いており、一部のウィンドウは他のウィンドウの背後に隠れています。私がやりたいことは、可能であれば、アクセシビリティ API を使用して、ウィンドウのボタンを前面に表示せずに押す方法でマウス イベントをウィンドウに送信することです (ウィンドウと対話しますが、アクティブにしないでください)。 . 私がこれをしようとしている理由は、この他のウィンドウにマウス イベントを送信すると、それが強制的に最前面に表示され、最前面のウィンドウとのユーザーのやり取りが中断されるためです。

これは Windows でも可能です - どうやら、私のようなアプリがそこでそれを行うため - しかし、ウィンドウ マネージャーの動作方法を考えると、これは Cocoa では不可能だと感じています。私は間違っていますか?

0 投票する
3 に答える
5472 参照

iphone - アプリで VoiceOver を直接使用できる iPhone API はありますか?

ユーザーがアプリから直接ボタンを押して、VoiceOver を使用して画面の内容を読み上げられるようにしたいと考えています。現時点では、各ページの録音をまとめて、ユーザーがボタンを押したときに再生するしか方法がありません。VoiceOver を使用すると、このプロセスが本当に簡単になります。出来ますか?

ありがとう!
トーマス

0 投票する
4 に答える
3792 参照

objective-c - プログラムで支援機器へのアクセスを有効にする

プログラムでシステム環境設定の支援機器へのアクセスを有効にしたい。しかし、問題は、私のアプリケーションがrootユーザーとして実行されておらず、アプリケーションをrootユーザーとして使用したくないことです。また、その間に認証を要求するべきではありません。

すべてのキーボードイベントをグローバルにタップしたい。同じためにCGEventTapCreate()を使用しています。CGEventTapCreate()APIのドキュメントでは、次の条件のいずれかが当てはまる場合、イベントタップはキーアップイベントとキーダウンイベントを受信すると記載されています。

  1. 現在のプロセスはrootユーザーとして実行されています。
  2. 支援機器へのアクセスが有効になっています。Mac OS X v10.4以降では、システム環境設定、ユニバーサルアクセスパネル、キーボードビューを使用してこの機能を有効にできます。

システム環境設定から支援機器のアクセスを有効にするをチェックして手動で試しましたが、期待どおりの出力が得られます。

それで、認証を要求せずにプログラムを介して同じことを行う方法はありますか?また、アプリケーションはrootユーザーとして実行されていませんか?

ありがとう、

Dheeraj。

0 投票する
2 に答える
7758 参照

cocoa - AccessibilityAPIを使用せずにMacOSで別のアプリケーションウィンドウのタイトル、位置、サイズを取得するにはどうすればよいですか?

アクセシビリティAPIをサポートしていない場合、ウィンドウのタイトル、位置、サイズを取得するにはどうすればよいですか?アクセシビリティインスペクタはそれをまったく見ていません。たとえば、X11.appのxtermウィンドウです(X11->アプリケーション->ターミナル)。

0 投票する
1 に答える
574 参照

macos - アクセシビリティ API を使用して、NPAPI プラグインのブラウザ ウィンドウのサイズと原点を調べる

MacOSXでブラウザ(Safari、Chrome、firefox)用のプラグインを作ってきました

私がやろうとしているのは、アクセシビリティ API を使用して、NPAPI プラグインのブラウザー ウィンドウのサイズと原点を調べることです。

Chrome では欲しいものを取得できますが、Safari ではエラー コードが表示されます-25204

-25204AXError.hの kAXErrorCannotComplete です。

しかし、理由はわかりません。

どんなコメントでも大歓迎です。

前もって感謝します。

0 投票する
8 に答える
43267 参照

android - Android:特定のAccessibilityServiceが有効になっているかどうかをどのように確認しますか

の使用が必要なAndroidアプリを作成しましたAccessibilityService。電話でユーザー補助機能が有効になっているか無効になっているかを確認する方法は知っていますが、ユーザー補助メニューでアプリが特に有効になっているかどうかを判断する方法がわかりません。

が実行されていない場合にユーザーにプロンプ​​トを表示したいのですがAccessibilityService、これを行うための適切な方法が見つかりません。デバイスで有効になっているユーザー補助サービスを教えてくれる、不足している可能性のあるAPIメソッドはありますか?

0 投票する
2 に答える
6990 参照

objective-c - OSX Accessibility API を使用してウィンドウ番号を取得する

画面上でサードパーティ製アプリケーションのウィンドウを移動するアプリケーションに取り組んでいます。

現在開いているすべてのウィンドウの概要を取得するには、次を使用します

これは、開いているすべてのウィンドウを定義する辞書の配列を返します。返される辞書の例を次に示します。

ディクショナリには、他の場所で使用される優れた情報が満載ですが、ウィンドウの位置を変更するために使用できるアクセシビリティ オブジェクトがありません。ウィンドウは、ウィンドウ番号によって明確に識別されます。

現在、PID (kCGWindowOwnerPID) を使用して、ウィンドウのアプリケーションのアクセシビリティ オブジェクトを作成しています。

次に、AXUIElementCopyAttributeValues を使用して、アプリケーションが開いたすべてのウィンドウのリストを取得します。

これは機能し、AXUIElements の配列を返します。これは私が立ち往生しているところです。アクセシビリティ オブジェクトのウィンドウ番号を取得するための API 呼び出しはないようです。いずれかの方法はありますか

a) アクセシビリティ オブジェクトのウィンドウ番号を検索します (最終的に配列を反復処理して、適切なウィンドウを見つけます)。

また

b) それ以外の場合、CGWindowListCopyWindowInfo によって返される配列に記述されたウィンドウが、AXUIElementCopyAttributeValues によって返されるアクセシビリティ オブジェクトに明確に一致しますか?

0 投票する
0 に答える
496 参照

macos - Mac OSXでのスクロールイベントのシステム全体の認識と、フォーカスを別のウィンドウに設定する

ココアアプリケーションでグローバルマウスホイールイベントに登録しています。私の目標は、ユーザーがウィンドウをスクロールしたときに、別のアプリケーションのウィンドウにフォーカスできるようにするための、ある種のバックグラウンドアプリケーションを用意することです。Objective-CとCocoaで可能であれば、これを実行したい場合、どのルートに進む必要がありますか?

イベント登録の私のコードは次のようになります。

これは機能しますが、イベントでキャプチャされたデータ(windowやwindowidなど)を操作できないようです-リストを取得できるため、windowidも正しいものではないようですウィンドウの数とそこに別のIDを取得します-画面の位置だけが正確であるようです。したがって、この謎を解決するための3つの質問:

  1. 画面の特定の場所でウィンドウまたはウィンドウIDを取得するにはどうすればよいですか?
  2. ウィンドウIDしか取得できない場合、操作する適切なアプリケーションまたはウィンドウオブジェクトを見つけるにはどうすればよいですか?
  3. ウィンドウを操作してフォーカスを与えるには、アクセシビリティAPIが必要だと思います。それはどのように機能しますか?

たぶんこれらは単純な作業ですが、私はこれまでMac-Cocoaアプリケーションを作成したことがありません。読むべきドキュメントを提案する前に、私がすでにすべてのドキュメントをスキャンしたこと、そして本を読むよりも例によって学ぶ方がよいことを知っておく必要があります:-)

編集:ProcessManagerを使用してアプリケーションを前面に表示できることがわかりました。これが可能な解決策であると思われる場合、画面上の特定のポイントでウィンドウのプロセスIDを取得するにはどうすればよいですか?

EDIT2:CarbonAPIを使用したくありません。

0 投票する
0 に答える
292 参照

ios - iOS: Read state of AssistiveTouch feature

I'm looking for a way to determine the state of the "AssistiveTouch" accessibility feature in iOS5. I need some kind of function to checked whether it is enabled or not - any ideas? Couldn't find anything in the accessibility documentation so far... undocumented ways are ok too, if there's no official way yet. More specific, I need to find out if a recorded gesture is played at the current time, that's why I'm asking.

Thanks for your help :-)