チケット #35206

focusHighlight 利用時のコンボボックスの値の変化の通知

登録: 2015-05-31 10:53 最終更新: 2015-08-01 12:35

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

詳細

focusHighlight アドオン利用時にコンボボックスの値の変化がうまく通知できない現象。

コンボボックスが「展開」したときに、リストアイテムに不適切にフォーカスが移動してしまうことが関連しているらしい。 Windows 7 のメモ帳や Word 2010 などの「名前をつけて保存」ダイアログでは下矢印キーだけで「展開」してしまう。

まだテストコードだが、valueChange したときに setFocusObject を実行して強制的にフォーカスをリストアイテムからコンボボックスに移す実装を試している。

https://gist.github.com/nishimotz/e75049498651222d5efd

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

2015-05-31 10:53 更新者: nishimoto
  • 新しいチケット "focusHighlight 利用時のコンボボックスの値の変化の通知" が作成されました
2015-05-31 14:12 更新者: nishimoto
コメント

デバッグコードを無効化して評価版アドオンを作成しました:

focusHighlight-3.0-dev-150531

https://dl.dropboxusercontent.com/u/62564469/focusHighlight-3.0-dev-150531.nvda-addon

2015-05-31 14:46 更新者: nishimoto
コメント

本家の addon ML に投稿してみた:

I have worked around some strange issue with focusHighlight addon and made the following dev version:

focusHighlight-3.0-dev-150531

https://dl.dropboxusercontent.com/u/62564469/focusHighlight-3.0-dev-150531.nvda-addon

The issue I have reported is regarding combo box with the expanded state.

Usually combo box can be manipulated by up/down arrow keys and the value should be announced immediately.

With the previous version of focusHighlight, NVDA cannot report the value of combo box,
especially with the case that the combo box is expanded, additional list box is popped up,
and the focus is moved to one of the list items within the pop-up list box.

The issue can be reproduced in the following way:

1. start notepad.exe (or Microsoft Word) of Windows 7
2. open 'File' menu and open 'Save As' dialog
3. move focus to a combo box, such as 'save as type' or 'encoding'
4. press down arrow key. in this case, it becomes automatically expanded.
5. press up/down arrow keys to move around items.

I have been thinking that the expanded combo boxes aren't handled correctly with NVDA,
however, if the combo box remains collapsed, up/down arrow keys can be handled correctly.
The problem is with some combo boxes used by Windows common dialogs such as notepad
or Microsoft Office, i.e. combo boxes automatically become expanded and things go wrong.

So far, I worked around this in the following way:

	def event_valueChange(self, obj, nextHandler):
		if obj.windowClassName == 'ComboBox' and obj.role == oleacc.ROLE_SYSTEM_TOOLTIP:
			updateFocusLocation(obj)
			updateNavigatorLocation()
			api.setFocusObject(obj)
		nextHandler()

which makes Windows focus on the combobox itself, rather than the list items.

For Windows 8.1, the combobox behaviors are something different, so the issue is not serious.
2015-08-01 12:35 更新者: nishimoto
  • チケット完了時刻2015-08-01 12:35 に更新されました
  • 状況オープン から 完了 に更新されました
  • 解決法なし から 修正済み に更新されました
コメント

本家アドオンコミュニティの Focus Highlight が 3.0 に更新されました。

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

添付ファイルリスト

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

編集

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