問題タブ [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 投票する
0 に答える
782 参照

c# - oleacc.dll へのアクセスが失敗したかどうかを検出する方法

oleacc.dll を使用して、実行中の他の Windows アプリケーション テキストを取得するアプリケーションがあります。私のクライアントでは、oleacc.dll へのアクセスが拒否または失敗し、アプリケーションが実行中のアプリケーション テキストを取得できないというケースが見つかりました。クライアント エンドで oleacc.dll へのアクセスが拒否される理由が正確にはわかりません。

OLEACC.DLL を調査した結果、oleacc.dll エラーの原因として次のことが判明しました。

  1. Windows アップデートによりこの dll が削除される可能性があります。この問題の原因となっている特定のアップデートを正確に見つけることができませんでした。
  2. ウイルス対策ソフトウェア、レジストリ クリーナーまたはブースターは、この dll を破損または削除する可能性があります。AVG、Zone Alarm Internet Security Suite のインストール
  3. それを破損または削除したウイルス、トロイの木馬、およびマルウェア感染。トロイの木馬: Win 32/Agent E マルウェア: Win32/Cnzz
  4. 無効または破損した oleacc.dll レジストリ エントリ
  5. oleacc.dll ファイルが破損したハード ドライブの不良など、Microsoft のハードウェア障害
  6. 別のプログラムが必要なバージョンの oleacc.dll を上書きしました
  7. 別のプログラムが、故意または誤って oleacc.dll ファイルを削除しました
  8. 別のプログラムが oleacc.dll ファイルをアンインストールしました。

私のアプリケーションの主な欠点は、oleacc.dll へのアクセスに問題がないかどうかを認識できないことです。そのため、アプリケーションは実行されますが、取得できず、ユーザーはテキストを取得しているかどうかを知ることができませんでした。

そこで、oleacc.dll へのアクセスが失敗したかどうかを確認する方法があるかどうかを知りたいと思いました。検出されると、アプリケーションはユーザーに警告を発し、アプリケーションから (regsvr32 コマンドを使用して) oleacc.dll を自動的に登録することができます。

コード:

IAccessible acc = null;

int retval = AccessibleObjectFromWindow( hWnd, 0, IID_IAccessible.ToByteArray(), ref acc );

ありがとうプラカシュ

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

android - AccessibilityManager.interrupt() は正確に何をしますか?

Android Developer の「ドキュメンテーション」でよくあることですが、この関数の説明は途方もなくあいまいです。

http://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#interrupt()

すべてのアクセシビリティ サービスからのフィードバックの中断を要求します。

それが何をするのか、その効果は何なのか、そしてそれがどのくらい続くのかを正確に知っている人はいますか? たとえば、TalkBack と Explore On Touch を有効にすると、現在話されている発話が中断されますか?それとも、残りのアクティビティ ライフサイクルでサービスがシャットダウンされますか?

また、「お願い」とはどういう意味ですか?要求が満たされない可能性があるということですか? もしそうなら、どのような場合で、それが成功したかどうかをどのように確認しますか?

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

android - Android アクセシビリティ サービス フォーカス EditText

私はアクセシビリティサービスを書いています。ソフトウェア キーボードをポップアップ表示する方法で EditText フィールドにフォーカスしようとしてきましたが、うまくいきませんでした。カーソルを EditText フィールドに入れることはできますが、ソフト キーボードがポップアップしません。与えられた EditTextNode は、さまざまなアクセシビリティ イベントから取得した AccessibilityNodeInfo であり、これらすべてのアクションを試行すると nodeInfo isEditable、isFocusable、isVisibleToUser、および isClickable になり、完了時にすべて true を返します。

私の考えでは、上記は単に機能するはずであり、少なくとも私のデバイス(Droid Ultra、Android 4.4.4)では、Androidバージョン全体ではないにしても、アクセシビリティAPIのバグです。私も試しました:

フィールドにフォーカスを置いて、入力カーソルは表示できますが、キーボードは表示されません。

トークバックが有効になっていない限り、実際には何もしません。

適切な引数とともにこれは機能しますが、editText フィールドに既にテキストがある場合に限ります。空のテキスト フィールドでもキーボードを引き上げる必要があります。はい、テキスト選択の開始引数と終了引数に 0,0 を入力してみました。SET_SELECTION メソッドは、フィールド内のテキストでのみ機能します!

これは数日間私を苛立たせてきました。うまくいけば、皆さんが助けてくれます. 私はバグに出くわしたと信じていますが、Android が更新されるまで待つ必要があります。ACTION_CLICK メソッドだけで十分です。しかし、何かばかげたことを見逃している可能性があります。Accessibility API Doc はやや不足しています。何にでも喜んで挑戦します。

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

java - アクセシビリティ サービスを介して表示するデータを渡す – Android

アクセシビリティ サービス内の EditText 内のテキストを変更したい。私のコードは次のとおりです。

そして、それはうまく機能します。ユーザーが EditText を押すと、「TestData」に変わります。その後、ボタン付きのダイアログが表示されます。そして、ボタンを押してテキストを変更したい。

ボタンを押すとクリップボードは更新されますが、EditText 内のテキストは更新されません。

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

android - event.getSource() は Android で null アクセシビリティを返します

DashLane などのアクセシビリティ サービスや、アクセシビリティ サービスを使用している他のアプリを使用して、EditText フィールドに入力しようとしています。

イベントビューに焦点を当てて使用しています。EditText がフォーカスされると、イベントが開始されますが、 getSource()null が返されます。

コード:

...そして、エラーが発生している他の方法をいくつか試しました。ここでの 1 つの質問は、なぜ null を返すのかということです。

Androidマニフェスト

アクセシビリティ.xml

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

objective-c - サンドボックス化されたアプリでアクセシビリティを使用するには?

OS X には Accessibility API などの優れた機能があり、アプリ コードから一部のシステム要素や別のアプリケーションを制御できます。しかし、サンドボックスをオンにすると機能しなくなります。サンドボックスを有効にするには、アプリをストアに送信する必要があります。

それはAppleが言うことです:

アプリ サンドボックスを使用すると、このドキュメントで説明されているように、アプリのアクセシビリティを有効にすることができます。ただし、スクリーン リーダーなどの支援アプリをサンドボックス化することはできません。また、別のアプリを制御するアプリをサンドボックス化することもできません。

ただし、App Store には Accessibility API を使用するアプリケーションがいくつかあります。

  • Cinch – ウィンドウのサイズを変更する
  • BetterSnapTool - 同じ
  • PopClip – 選択したテキストを取得します

ということはSandbox/Accessibility API/App Storeを併用できるということですが、どのように?

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

android - フラグメントのビュー内でトークバックを有効にする方法は?

現在、アプリ内の新機能としてアクセシビリティを追加しています。私の目標は、ユーザーがAndroid によって統合されたTalkBackサービスを使用してナビゲートすることです。

アクティビティレイアウト内の要素にコンテンツの説明を設定しているため、すべてがうまく機能しています。

このように、アクティビティが表示されるたびに、TalkBack はコンテンツの説明の値を読み取ります。

複数のフラグメントをプッシュする 1 つのアクティビティだけを使用しても、同じ成功はありませんでした。したがって、フラグメント レイアウト内の任意の要素にコンテンツの説明を設定しようとすると、タッチ イベントが検出されるまで、これは (自動的に) 読み取られません (あるビューのように、TalkBack が自動的にそれを行うことを期待しています)。アクティビティのレイアウト)

私が期待する結果を得るために、フラグメントクラス内でこれを行います:

これはこれまでのところ成功していません。コンテンツとしてアクセシビリティを設定するのと同じことが変更されました。

誰かが同様の問題に直面していましたか?