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

Added option "Enable Braille message timeout" #5882

Closed
surfer0627 opened this issue Apr 13, 2016 · 13 comments
Closed

Added option "Enable Braille message timeout" #5882

surfer0627 opened this issue Apr 13, 2016 · 13 comments

Comments

@surfer0627
Copy link
Contributor

In NVDA_JP (language settings), there is an option called "Enable Braille message timeout".
Here is a short description from NVDAJP Release Notes 2016.1jp:

5.2.11. Enable Braille message timeout
This option allows disabling Braille message timeout. If this option is turned off, Braille message is displayed almost forever (10000sec).

@josephsl
Copy link
Collaborator

Hi, @nishimotz: can we work on a way to pull in your team’s diffs if this feature is accepted? Thanks.

From: surfer0627 [mailto:notifications@github.com]
Sent: Tuesday, April 12, 2016 9:13 PM
To: nvaccess/nvda nvda@noreply.github.com
Subject: [nvaccess/nvda] Added option "Enable Braille message timeout" (#5882)

In NVDA_JP (language settings), there is an option called "Enable Braille message timeout".
Here is a short description from NVDAJP Release Notes 2016.1jp: https://www.nvda.jp/nvda2016.1jp/en/readmejp.html

5.2.11. Enable Braille message timeout
This option allows disabling Braille message timeout. If this option is turned off, Braille message is displayed almost forever (10000sec).


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub #5882

@jcsteh
Copy link
Contributor

jcsteh commented Apr 13, 2016

If it really does just set a long timeout, why wouldn't a user just enter a long timeout (rather than having a separate option)?

If there is a good use case for having a true "forever" setting, I think we can do far better in terms of UX. I think "Disable message timeout" isn't going to make sense to many users.
I'd suggest a group of radio buttons labelled "Display messages:":

  1. "Disabled": Disables messages.
  2. "For (sec):": Enables a text box where you can enter the time, just as we have now.
  3. "Until dismissed": Shows the message until it is manually dismissed by the user.

@nishimotz
Copy link
Contributor

The 'forever' setting is necessary for input composition and/or character descriptions.
For ideographic characters used in Japanese or Chinese, character descriptions are usually displayed as ui.message, rather than as an object's property.
It is somewhat depending on our work around braille support of the input composition.
Braille display users want to treat such character descriptions as the properties of the text objects, rather than the volatile messages.

I wanted to make the setting file of NVDAJP compatible with the original version.
That was the reason we added "Enable (disable) Braille message timeout" option.

Actually I don't like the solution so far, because I understand ui.message should be volatile.
I am happy to discuss the use cases and find better solutions.

@jcsteh
Copy link
Contributor

jcsteh commented Apr 13, 2016 via email

@nishimotz
Copy link
Contributor

For example, NVDAHelper.handleInputCandidateListUpdate uses ui.message for candidate items list.
The autoReportAllCandidates option, however, is not suitable for Japanese language.
For original NVDA, the same option is requested, so I hope @surfer0627 gives information regarding other language than Japanese.

@jcsteh
Copy link
Contributor

jcsteh commented Apr 13, 2016 via email

@surfer0627
Copy link
Contributor Author

@jcsteh

If it really does just set a long timeout, why wouldn't a user just enter a long timeout (rather than having a separate option)?

Now, the maximum message timeout is "20" seconds. Sometimes, it's not enough for users press numpad2 twice to read "character descriptions".
If message timeout could be extended to 10000sec, then it matches the request.

The reason why I request to add an option, because this feature is based on code from NVDA_JP. It sounds like a time-saving solution.

@nishimotz
Copy link
Contributor

Regarding input composition, another point is
NVDAObjects.IAccessible.mscandui.reportSelectedCandidate.

I have reviewed past discussion in Japanese community and learned as follows:

  • Novice user of braille display may have difficulty with input composition sessions if the character descriptions are suddenly changed to the document content while the user is still verifying the candidates
  • Other than input compositions, it may be useful if the braille message is not dismissed after the absence from computer for a while. For example, the user fetches incoming mails. If it takes time, the user may go to restroom during that. Message such as 'you have 10 mails' should not dismissed until the user returns. (Actually I don't know what e-mail software was being discussed at that time)

@surfer0627
Are you using NVDAJP already?
So far, NVDA does not support braille display regarding review_currentCharacter.
NVDAJP uses braille.handler.message to show character descriptions, as well as speech.

@jcsteh
Copy link
Contributor

jcsteh commented Apr 14, 2016 via email

@nishimotz
Copy link
Contributor

I was requested to make a patch or 'ready to pull' version of my work, however, I would like to discuss further, before Chinese language community will make a try-build.

Back to "very long Braille message timeout," just allowing a long timeout seemed nicer, in terms of user experience, as @jcsteh mentioned.

As I wrote previously, the reason of my design was compatibility of nvda.ini file.

The Braille.messageTimeout is defined as follows:

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

If forked version of NVDA allows the bigger values for this parameter, the modified nvda.ini would raise validation error with the original or previous version of NVDA.

For example opening Braille settings dialog causes error as follows and the dialog cannot be accessed:

ERROR - unhandled exception (16:51:24):
Traceback (most recent call last):
  File "gui\__init__.pyo", line 234, in onBrailleCommand
  File "gui\__init__.pyo", line 192, in _popupSettingsDialog
  File "gui\settingsDialogs.pyo", line 75, in __init__
  File "gui\settingsDialogs.pyo", line 1494, in makeSettings
  File "config\__init__.pyo", line 972, in __getitem__
  File "config\__init__.pyo", line 1027, 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.

The user profiles of NVDA may be shared with various versions of NVDA, so it would be seriously inconvenient.

We cannot change the behaviors of past versions regarding this, so I thought that adding new option is safe way of doing this.

Comments are welcome.

@nishimotz
Copy link
Contributor

We already treats the value of zero as special.
"Specifying 0 disables displaying of these messages completely."

If we define "Specifying 20 makes Braille message displayed forever," it won't break the profile compatibility across NVDA versions.

After this change, the maximum number of the timeout will be 19 seconds.
I wonder how the users will be inconvenient, who really want this timeout to be exactly 20 seconds.

@derekriemer
Copy link
Collaborator

What about -1?

On 8/9/2016 5:30 PM, Takuya Nishimoto wrote:

We already treats the value of zero as special.
"Specifying 0 disables displaying of these messages completely."

If we define "Specifying 20 makes Braille message displayed forever,"
it won't break the profile compatibility across NVDA versions.

After this change, the maximum number of the timeout will be 19 seconds.
I wonder how the users will be inconvenient, who really want this
timeout to be exactly 20 seconds.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#5882 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFGivVUoQhdXeGCqduI2tUFtPHN7mxlkks5qeQ2DgaJpZM4IGCHy.


Derek Riemer
  • Department of computer science, third year undergraduate student.
  • Proud user of the NVDA screen reader.
  • Open source enthusiast.
  • Member of Bridge Cu
  • Avid skiier.

Websites:
Honors portfolio http://derekriemer.com
Awesome little hand built weather app!
http://django.derekriemer.com/weather/

email me at derek.riemer@colorado.edu mailto:derek.riemer@colorado.edu
Phone: (303) 906-2194

@surfer0627
Copy link
Contributor Author

surfer0627 commented May 31, 2017

I'm going to close this. It was covered by #6777.

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

No branches or pull requests

5 participants