Ticket #33644

点字表示待ち時間の上限を長く(無限に)する

Open Date: 2014-04-04 12:46 Last Update: 2016-04-13 16:27

Reporter: nishimoto Owner: nishimoto
Type: Feature Requests Status: Closed
Component: 点字ディスプレイ MileStone: (None)
Priority: 5 - Medium Severity: 5 - Medium
Resolution: Fixed

Details

点字表示待ち時間の上限を長く(無限に)してほしいというご要望があります。

以下 nvdajp-team の投稿の引用です:

点字ディスプレイの表示を見ながら作業する場合、
一度表示された内容について、何らかのイベントが無い限りは継続して表示し続けるような設定ができないかと考えています。

例えばメールの受信操作をして、お手洗い休憩
その後、戻ってきたら"10件のメールを受信しました。"と点字ディスプレイで確認できるような設定です。

NVDA最新情報
http://www.nvda.jp/nvda2014.1jp/ja/changes.html

これによれば
メッセージの表示待ち時間を0にすると点字表示がされないとなっています。
仮にこの数値を20にしたとしても次に読むタイミングが20秒を過ぎてしまうと表示が消えてしまいます。

提案ですが、表示待ち時間を0にすると"次のイベントまでは表示し続ける"という仕様変更はいかがかと考えました。
点字を表示しない設定は、"点字無し"でするのが本来的ではないかという点と、
"次のイベントまでは表示し続ける"機能を実装してほしいというのが提案の趣旨です。
現在、待ち時間を20秒以上に設定しようとしても
(例えば30とかに変えても)
又20に戻ってしまいますので、
20秒が限度なのかなと思ったりしています。
点字触読の遅い初心者の場合、
特に文字入力変換の時に
ゆっくり詳細読みを確認していると、
突然消えてしまって確定される、というのは
不便です。
そこそこ読める人でも、
確認中に何か用事ができると、
戻ってきたら点字表示が変わっている、というのも
困る気がします。

現状の実装は gui/settingsDialogs.py で上限20秒とされています。

		if 0 <= val <= 20:
			config.conf["braille"]["messageTimeout"] = val

Attachment File List

No attachments

Ticket History (3/13 Histories)

2014-04-04 12:46 Updated by: nishimoto
  • New Ticket "点字表示待ち時間の上限を長く(無限に)する" created
2014-04-08 10:55 Updated by: nishimoto
Comment

「表示待ち時間を0にすると"次のイベントまでは表示し続ける"という仕様変更」のご提案について。

そもそもメッセージ表示が終わるとディスプレイは消えてしまうのではなく、 もともとのフォーカスやナビゲーターオブジェクトの内容表示に戻っているはずです。

日本語版で独自にこの変更をすることは可能ですが、 本家版が同じように変更をしてくれないと、厄介なことになります。

本家チケット 2482 によると、0 のときに出力をしないという仕様は、 本家でユーザーから要望があって 2013.2 からこうなっています。 (それ以前は最低値は0ではなく1でした)

Provide an option to disable braille flash messages

http://community.nvda-project.org/ticket/2482

最初は mick さんは賛成していなかったようですが 「メッセージは音声でだけ確認して点字では確認したくない」 という要望に結果的に同意したようです。

日本のユーザーがこの議論に違和感を感じる理由は、たとえば、 カナ漢字変換の候補選択などがこの仕様の影響を受けるからだと思います。 本家版の東アジア言語拡張はIMEの候補選択は点字ディスプレイをサポートしていません。

NVDA では点字ディスプレイ出力をサポートするために 「揮発性のメッセージを表示する仕組み」と「オブジェクトがレビューされたときに出力する内容を返す」の2種類があり、 前者は簡単に扱えますが、メッセージは時間がたつと消えてしまいます。

今回の点字表示待ち時間が足りないという場面は、本来はメッセージ出力の仕組みではなく、 オブジェクトのレビュー方法をカスタマイズするような実装が必要です。

日本語入力に関しては、現時点では実装が難しいので妥協している部分です。

また、点字出力の制御を行いたいアプリケーション開発者に関しては、 点字出力APIの本来の役割や、アプリケーションモジュール(アドオン)による制御で なにが可能になるかを、情報提供していく必要があると思っています。

2014-04-13 11:19 Updated by: nishimoto
  • Milestone Update from (None) to 2014.2jp (closed)
  • Owner Update from (None) to nishimoto
  • Resolution Update from None to Accepted
  • Component Update from (None) to 点字ディスプレイ
Comment

待ち時間0の仕様は現状のまま、上限を大きくしたいと思います。

2014-04-28 19:30 Updated by: nishimoto
Comment

作業ブランチ作成の記録

To ssh://git@bitbucket.org/nvdajp/nvdajp.git
 * [new branch]      ti33644 -> ti33644
2014-04-30 15:36 Updated by: nishimoto
Comment

この修正作業を検討中ですが、単に settingDialogs.py を変更するだけでなく、 config モジュールの max も変更する必要があります:

	messageTimeout = integer(default=4,min=0,max=10000)

結果として、もしこの値を 20 を超える値にしている人が、NVDA 本家版を起動すると、 点字出力の初期化や設定でエラーになる可能性があることを、ドキュメントに書いておく必要がありそうです。

現状で NVDA を点字で使う人が本家版を起動することはほとんどないと思いますが。。

2014-04-30 15:45 Updated by: nishimoto
Comment

日本語テスト版 jpbeta140430

https://dl.dropboxusercontent.com/u/62564469/nvda_jpbeta140430.exe

点字表示待ち時間の仕様変更に加えて、日本語設定で「UIAの有効化」ができるようになっています。

本家にコミットしている翻訳関係の変更は、まだ本家 master が更新されていないため、反映されていません。

2014-05-10 23:01 Updated by: nishimoto
Comment

以前書いたコメントの現象に実際に遭遇したので記録しておきます。

  • 2014.2jp のためのテスト版で点字表示待ち時間を10000にする。
  • その状態で 2013.3jp を再インストールする。
  • 点字設定を開こうとすると後述のエラーになる。
  • 点字設定ダイアログは開かないが、他の設定ダイアログを開こうとしても、開いている設定ダイアログを閉じてくださいという指示が出るだけで、設定ダイアログが開けなくなる。
  • NVDA メニューの「設定のリセット」をすれば、設定ダイアログは開くようになる。

他のバージョンを同じ設定ファイルで使い分けるときには点字表示待ち時間は 20 以下にしてください、と注意書きをしたほうがよさそうです。

このとき起きるエラーの記録:

ERROR - unhandled exception (22:37:55):
Traceback (most recent call last):
  File "gui\__init__.pyo", line 237, in onBrailleCommand
  File "gui\__init__.pyo", line 192, in _popupSettingsDialog
  File "gui\settingsDialogs.pyo", line 72, in __init__
  File "gui\settingsDialogs.pyo", line 1358, in makeSettings
  File "config\__init__.pyo", line 918, in __getitem__
  File "config\__init__.pyo", line 973, in _cacheLeaf
  File "validate.pyo", line 602, in check
  File "validate.pyo", line 634, in _check_value
  File "validate.pyo", line 822, in is_integer
VdtValueTooBigError: the value "10000" is too big.
2014-05-11 22:34 Updated by: nishimoto
Comment

このまま messageTimeout の上限を変更して、nvda.ini ファイルの互換性が壊れてしまうことを許容するか、 タイムアウト時間を長くするオプションを例えば「日本語設定」に追加して messageTimeout の独自仕様変更をやめるか、まだ検討の余地がありそうです。

2014-05-13 19:14 Updated by: nishimoto
Comment

2014.2jp 以外のバージョンの NVDA が起動しなくなるトラブルは避けたいので、 messageTimeout の仕様を本家版に戻して、 日本語設定「点字メッセージを待ち時間で消去」 (デフォルトはチェック)を追加したバージョンを作ってみました。

日本語テスト版 jpbeta140513

https://dl.dropboxusercontent.com/u/62564469/nvda_jpbeta140513.exe

実際にはチェックなしにすると待ち時間を10000秒にしています。

今までのテスト版で 20 を超える値にした人は、 このバージョンを試す前にいったん20以下の値に戻しておいてください。 「設定のリセット」でもとに戻すこともできますが。。

ブランチの情報:

To ssh://git@bitbucket.org/nvdajp/nvdajp.git
 * [new branch]      ti33644v2 -> ti33644v2
2014-05-13 19:47 Updated by: nishimoto
Comment

次のバージョンで「点字表示待ち時間 0」の場合も「点字メッセージを待ち時間で消去」チェックなしの設定を優先するように修正。

[ti33644v2 73eb767] make 'Enable Braille message timeout' option effective even if messageTimeout is set to 0.
 1 file changed, 3 insertions(+), 1 deletion(-)
2014-05-15 12:08 Updated by: nishimoto
  • Ticket Close date is changed to 2014-05-15 12:08
  • Status Update from Open to Closed
  • Resolution Update from Accepted to Fixed
Comment

ブランチ ti33644v2 を jpbranch にマージしました。

このチケットはクローズします。

設定項目の名前が分かりやすくないというご意見もあるので、説明方法については引き続き検討します。

本家がリリース候補版の作業を始めたので、これ以降の日本語版の修正は jp2014.2 ブランチで行います。

2014-05-16 19:50 Updated by: nishimoto
Comment

2014.2jp-beta で設定項目名を「点字メッセージの表示終了待ち時間設定を有効にする」に変更します。

2016-04-13 16:27 Updated by: nishimoto
Comment

本家版での「点字表示待ち時間」に関する議論:

https://github.com/nvaccess/nvda/issues/5882

Edit

Please login to add comment to this ticket » Login