チケット #33646

アプリケーションスリープAPIを使うアプリケーションに関する要望

登録: 2014-04-04 14:54 最終更新: 2014-07-19 18:12

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
オープン
コンポーネント:
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし

詳細

アプリケーションスリープAPI(2014.1jp における日本語版の独自拡張)に関するご意見をまとめます:

(1) このAPIでアプリケーション画面の読み上げを止めている時に、 NVDA+F12(日時読み上げ)などを読み上げない。

(2) このAPIでアプリケーション画面の読み上げを止めている時に、 アプリケーションに対する入力メソッド(IME)の操作も読み上げないようにして欲しい。

アプリケーションが独自にIME操作をSAPIエンジンに出力している場合に、 日本語入力をSAPIとNVDAが二重に読み上げてしまう。

(3) このAPIでアプリケーション画面の読み上げを止めている時に、 点字ディスプレイのスクロールキーや上下キーの入力操作を有効にして欲しい。

チケットの履歴 (9 件中 3 件表示)

2014-04-04 14:54 更新者: nishimoto
  • 新しいチケット "アプリケーションスリープAPIに関する要望" が作成されました
2014-04-05 08:03 更新者: nishimoto
コメント

アプリケーションスリープ(動的に読み上げをON/OFFする)API :チケット #32444 がやっている処理は

デスクトップ用キー NVDA+Shift+S

ラップトップ用キー NVDA+Shift+Z

による制御と同じなので、これらの操作をしていただくと、 アプリケーションスリープは手動で無効にでき、 使いたい機能を有効化できると思います。

ご確認いただければ幸いです。

APIのさらなる追加や、NVDA のスリープモードの仕様変更を行うかどうかは、 どのようなアプリケーションにどのような影響がおよぶかを確認しつつ、 アプリケーション開発者(APIを使う立場のかた)のご意見を伺って、 検討したいと思います。

2014-04-05 11:52 更新者: nishimoto
コメント

説明不足でしたが、もし NVDA+Shift+S(Z) で制御をしても、その直後にアプリケーションが NVDA にスリープ有効化命令を送ってしまうと、NVDA はアプリケーションスリープに戻ってしまいます。

本件はアプリケーションからの API の使い方に依存する問題でもあります。

それから、本件に関連して AppModule でNVDAをアプリケーションスリープしている WinAltair のようなソフトウェアへの対応で不具合が生じないようにする必要もありそうです。

2014-04-07 00:02 更新者: nishimoto
  • コンポーネント(未割り当て) から クライアントAPI に更新されました
コメント

(2) IME の読み上げの重複は AppModule でNVDAをアプリケーションスリープしている WinAltair でも発生しているとのこと。

NVDA に IME の読み上げを止めるオプションを作って、設定プロファイル、AppModule、API などから制御可能できれば解決するかも知れません。

(3) 点字ディスプレイのスクロールキーや上下キーの入力操作は「VoicePopper3,SearchAid の"内部ブラウザ"モードでは効いていないが、"y"キーでエディタモードにするとスクロールキーや上下キーは本来の挙動をしている」とのことでした。

IME読み上げに関しては別チケットを作るつもりです。

2014-05-13 08:35 更新者: nishimoto
  • 概要が更新されました
コメント

概要を「アプリケーションスリープAPIに関する要望」から「アプリケーションスリープAPIを使うアプリケーション関する要望」に変更。

(3)の項目に関連して、だと思いますが、以下のコメントをいただきました。

  • 内部ブラウザモードでの点字ディスプレイからの制御について。
  • 上下左右キーは本来のキーボードのそれと同じ動作。
  • スクロールキーは表示が点字ディスプレイに納まらない時の前・後へのスクロール。

本件についてはまだ何をしたらいいかわかっていません。 ひきつづき情報収集させてください。

2014-05-13 08:36 更新者: nishimoto
  • 概要が更新されました
2014-06-16 10:05 更新者: nishimoto
コメント

技術的なメモ。

スリープモード解除のコマンドだけはスリープモードで有効。

allowInSleepMode という仕組みが使われている:

globalCommands.py:112:  script_toggleCurrentAppSleepMode.allowInSleepMode=True

inputCore.py:389:               if focus.sleepMode is focus.SLEEP_FULL or (focus.sleepMode and not getattr(script, 'allowInSleepMode', False)):
2014-07-19 07:49 更新者: nishimoto
コメント

#33600 の作業の結果 2014.3jp からはスリープモードのアプリから NVDA+N でNVDAメニューが開くようになります。

新しい検討課題です:

  • アプリケーション開発者とユーザーの間で試行錯誤をしていただくために、NVDA の特定の API を無効にできるようなオプションを作る
2014-07-19 18:12 更新者: nishimoto
コメント

アプリケーションモジュールで setAppSleepMode を有効化・無効化できるようにしようかと思い始めています。

添付ファイルリスト

添付ファイルはありません

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする