Excel の見出し自動通知が点字ディスプレイ出力で有効にならない
チケット #32007 を「重複」扱いでクローズしたので、本チケットの優先度・重要度を上げて検討してみます。
まず本家 next に対するパッチを作ってみました。本家にチケットを立てました。
http://community.nvda-project.org/ticket/4195
なんとなく本家の実装の不備だったような気がします。
--- a/source/braille.py
+++ b/source/braille.py
@@ -492,15 +492,18 @@ def getBrailleTextForProperties(**propertyValues):
# Translators: Displayed in braille when an object (e.g. a tree view item) has a hierarchical level.
# %s is replaced with the level.
textList.append(_('lv %s')%positionInfo['level'])
+ rowHeaderText = propertyValues.get("rowHeaderText")
+ if rowHeaderText:
+ textList.append(rowHeaderText)
+ columnHeaderText = propertyValues.get("columnHeaderText")
+ if columnHeaderText:
+ textList.append(columnHeaderText)
if rowNumber:
if includeTableCellCoords and not cellCoordsText:
# Translators: Displayed in braille for a table cell row number.
# %s is replaced with the row number.
textList.append(_("r%s") % rowNumber)
if columnNumber:
- columnHeaderText = propertyValues.get("columnHeaderText")
- if columnHeaderText:
- textList.append(columnHeaderText)
if includeTableCellCoords and not cellCoordsText:
# Translators: Displayed in braille for a table cell column number.
# %s is replaced with the column number.
@@ -536,6 +539,8 @@ class NVDAObjectRegion(Region):
keyboardShortcut=obj.keyboardShortcut if presConfig["reportKeyboardShortcuts"] else None,
positionInfo=obj.positionInfo if presConfig["reportObjectPositionInformation"] else None,
cellCoordsText=obj.cellCoordsText if config.conf["documentFormatting"]["reportTableCellCoords"] else None,
+ columnHeaderText=obj.columnHeaderText if hasattr(obj, "columnHeaderText") and config.conf["documentFormatting"]["reportTableHeaders"] else None,
+ rowHeaderText=obj.rowHeaderText if hasattr(obj, "rowHeaderText") and config.conf["documentFormatting"]["reportTableHeaders"] else None,
)
self.rawText = text + self.appendText
super(NVDAObjectRegion, self).update()
日本語テスト版 jpbeta140613
https://dl.dropboxusercontent.com/u/62564469/nvda_jpbeta140613.exe
Excel 2010 で NVDA+shift+c, NVDA+shift+r を使って列見出し・行見出しを設定して、 書式情報「テーブルの行/列見出しの通知」を有効にした場合に、 点字ディスプレイにも見出しを通知する修正を取り込みました。
音声では行または列は変化したときだけ通知しますが、点字出力は毎回通知に含むようにしています。
NVDA+ctrl+t で点字表示モードをレビューにして動作確認しています。
本家がマージしてくれるかどうかわからないので、 まず日本語版 2014.3jp をマイルストーンとして設定しておきます。
本家の t4195 ブランチが next に入ったので、提案が本家版に受理されたものと判断します。
このチケットはターゲットを本家版 2014.3 に変更します。
本家チケット 4195 にコメントがついて 2014.3 への採用が見送られそうです。
点字ディスプレイに常に見出しが表示されるのは冗長すぎるので、 行や列を移動したときだけ通知するように実装をやりなおすべき、 という話です。
http://community.nvda-project.org/ticket/4195#comment:3
なにかご意見があれば伝えるので、お知らせください。
本件は 2014.3 本家版ではなく日本語版 2014.3jp の独自仕様ということになりそうなので、マイルストーンと状態を更新しました。
本家 2012.3 で導入された Microsoft Excel の見出し自動通知機能を使ったときに、2012.3.1jp で見出しの情報が点字ディスプレイに出力されておらず、"内容" "セル番地" だけが表示される、というご報告をいただきました。
ドキュメントとソースをみた限りでは、点字ディスプレイにも出力されるように実装されています。
音声で出力されているのなら、書式情報「テーブルの行/列見出しを通知」は有効になっていると思われます。
入出力レベルのログを見ればなにか分かるかも知れません。
本家ブランチ nvda/main Rev 5535
本家チケット 1519