Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Odd and possibly confusing key describer message for tab in Word #9943

Closed
XLTechie opened this issue Jul 17, 2019 · 4 comments · Fixed by #9945
Closed

Odd and possibly confusing key describer message for tab in Word #9943

XLTechie opened this issue Jul 17, 2019 · 4 comments · Fixed by #9945
Milestone

Comments

@XLTechie
Copy link
Collaborator

Steps to reproduce:

  1. Open a document in MS Word.
  2. Press NVDA+1 to enter key describer mode.
  3. Press tab.

Actual behavior:

The following message is spoken:

  A script for the tab key which:
  * if in a table, announces the newly selected cell or new cell where the caret is, or 
  * If not in a table, announces the distance of the caret from the left edge of the document, and any remaining text on that line.

Expected behavior:

  1. I would not expect the help message to start with "A script for the tab key which:". Since every key calls a script of some sort, this is redundant. Further, since it is not usually spoken as such, it could potentially confuse users.
  2. Shouldn't the help message mention that the key actually inserts a tab? It is unusual for a text entry key to be overloaded like this, so it seems to me it warrants further clarity about what happens when you press it.
  3. And what's with "and any remaining text on that line."? more on that below.

System configuration

Windows 10, 1903 64bit
NVDA installed or run from installer.
Multiple versions from 2019.1.1 through nvda_snapshot_threshold_py3_staging-18066,131ed840

Name and version of other software in use when reproducing the issue:

Microsoft Word 2019

Suggested Change

I suggest altering the help message to something more along these lines:

Inserts a tab, and announces the distance of the caret from the left edge of the document, and any remaining text on that line. If in a table, announces the newly selected cell or new cell where the caret is.

Further Thoughts

The above not withstanding, I consider this statement to be less than perfectly clear:

announces the distance of the caret from the left edge of the document, and any remaining text on that line.

Does it mean that it announces the remaining text on that line? If so, it doesn't.
In fact, it announces exactly the same thing, irrespective of whether there is text to the right of the entered tab.

@XLTechie
Copy link
Collaborator Author

XLTechie commented Jul 17, 2019 via email

@JulienCochuyt
Copy link
Collaborator

Usually, in such a case, we simply don't provide an input help message at all.
ex : arrow keys in CursorManager

@ruifontes
Copy link
Contributor

ruifontes commented Jul 17, 2019 via email

@JulienCochuyt
Copy link
Collaborator

And it is not translatable...

You are definitely right.
Btw., there is another drawback of using the __doc__ attribute for storing input help mode messages:
Try, in the Python console, to execute the following:

import globalCommands
help(globalCommands.GlobalCommands.script_title)

If you are, like me, in a locale where the associated input help mode message contains Unicode characters, it throws a UnicodeDecodeError because docstrings are not meant to contain such characters.
I would bet Python 3 is more tolerant here, didn't check though.

JulienCochuyt added a commit to accessolutions/nvda that referenced this issue Jul 17, 2019
…oc__` attribute and using the legacy script construct (nvaccess#9943)
JulienCochuyt added a commit to accessolutions/nvda that referenced this issue Aug 13, 2019
…oc__` attribute and using the legacy script construct (nvaccess#9943)
michaelDCurran pushed a commit that referenced this issue Sep 17, 2019
… (#9945)

* MS Word: Remove unintended input help message on tab key script (#9943)

* Fix re #9945 (comment)

Turn the faulty docstring into a block comment
rather than setting the `__doc__` attribute to `None`.

* Fix up: Use the `@script` decorator and preserve the docstring

* Fix up: Reduce diff, allowing for easier blaming and not linting historical comment
@nvaccessAuto nvaccessAuto added this to the 2019.3 milestone Sep 17, 2019
feerrenrut pushed a commit that referenced this issue Dec 9, 2020
… (PR #9949)

Fixes #9943

Explain not to provide inline docstring when no `__doc__` attribute and using the legacy script construct (#9943)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants