Skip to content

I7757 context help#11456

Merged
feerrenrut merged 45 commits into
masterfrom
i7757-contextHelp
Sep 9, 2020
Merged

I7757 context help#11456
feerrenrut merged 45 commits into
masterfrom
i7757-contextHelp

Conversation

@feerrenrut

Copy link
Copy Markdown
Contributor

Link to issue number:

Fixes #7757
Fixes #8354
Supersedes PR #8355

Summary of the issue:

Add context sensitive help referencing the user guide to settings dialogs, panels, and controls.

Description of how this pull request fixes the issue:

This PR adds initial support for opening the user guide at a particular section based on the context when the user presses F1 (in NVDA dialogs). For the sake of simplicity, this is done by opening the user guide in the browser. Unfortunately, this results in a lot of unnecessary verbosity. However, this is still quicker than opening the user guide separately (also in a browser) and navigating to the chosen section manually. Further, this aspect of the help delivery UX can be further optimized later.

In #7757 a help button was requested, there are several UI design concerns around this. Instead of dwelling on this, I'd like to proceed with the feature.

Testing performed:

  • Tested that the correct section of help was shown in several dialogs. My default browser (Firefox) was opened, and NVDA could read that section.
  • Tested that several controls with specific help also worked.

I did not test all of the controls. Hopefully alpha testers could focus on this a little bit to ensure there are no problems.

Known issues with pull request:

The delivery of the help is not as smooth as it could potentially be. However, this could be improved with subsequent work.

Change log entry:

New features:
- Pressing F1 inside NVDA dialogs will now open the help file to most relevant section. (#7757)

ThomasStivers and others added 30 commits November 15, 2017 05:34
* Added named anchors to the user guide which can be linked to from help events.
* Added Help button to all settings dialogs which opens help for all controls in that dialog.
* Dynamically generated dictionary of control ids and anchor names including controls in any open settings dialog.

This work may eventually be separated into its own module so it can be used in all NVDA generated dialogs.
* Use lxml.html to parse the user guide instead of working with text offsets directly.
* Moved contextHelp into the gui module.
* Removed unnecessary help class from contextHelp.
* Add dependency on lxml module for iterating through sibling elements in the user guide.
* Ensure that proper help ids are added for the category list and help button.
* Update helpIds from new panels do not replace the old list.
* Some anchors were changed upstream, so updated this PR to match.
LXML requires build steps not implemented in the PR.

Instead just try to navigate to the anchor for the help.
This doesn't work well, since the anchor is ignored.
The browser starts, but does not navigate to the correct heading.
This doesn't work well, the document (inside the webview) does not get focus.
After clicking on it, then it gets focus and NVDA reads it correctly. If we could automate this process it would be viable and give us more control over the presentation of the help.
This seems to work ok, though there is a lot of unnecessary verbosity.
Comment thread site_scons/site_tools/t2t.py Outdated
Comment thread source/gui/addonGui.py Outdated
Comment thread source/gui/configProfiles.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/contextHelp.py
Comment thread source/gui/contextHelp.py
@feerrenrut

Copy link
Copy Markdown
Contributor Author

I believe all review comments from @LeonarddeR have been addressed. It would be good to get this merged.

michaelDCurran
michaelDCurran previously approved these changes Sep 2, 2020
@feerrenrut feerrenrut added this to the 2020.4 milestone Sep 2, 2020
@feerrenrut

Copy link
Copy Markdown
Contributor Author

@michaelDCurran I think you approved this, but since the review was dismissed there is no record. Can you confirm?

@feerrenrut

Copy link
Copy Markdown
Contributor Author

@michaelDCurran Never mind, I found the email notification. It was approved, I'll go ahead and merge this.

@feerrenrut feerrenrut merged commit 423674e into master Sep 9, 2020
@feerrenrut feerrenrut deleted the i7757-contextHelp branch September 9, 2020 14:41
dawidpieper pushed a commit to dawidpieper/nvda that referenced this pull request Sep 13, 2020
Fixes nvaccess#7757
Fixes nvaccess#8354
Supersedes PR nvaccess#8355

Add initial support for opening the user guide at a particular section based on the context when the user presses F1 (in NVDA dialogs). For the sake of simplicity, this is done by opening the user guide in the browser. Unfortunately, this results in a lot of unnecessary verbosity. However, this is still quicker for the user than manually opening the user guide separately (also in a browser) and navigating to the chosen section manually. 

Co-authored-by: ThomasStivers <thomas.stivers@gmail.com>
Co-authored-by: Leonard de Ruijter <leonardder@users.noreply.github.com>
CyrilleB79 added a commit to CyrilleB79/nvda that referenced this pull request Oct 1, 2020
feerrenrut pushed a commit that referenced this pull request Oct 5, 2020
Fix-up of #11456: Fix for messages when context help is not available
feerrenrut added a commit that referenced this pull request Nov 17, 2020
* Context help:
- Added missing helpId in some dialogs/panels
- Fixed some helpId
- Added calls to self.bindHelpEvent
- Fixed parameters (anchor) of some calls to self.bindHelpEvent
* Changed the behaviour with voice settings:
- if the setting is a standard setting, go to the paragraph that describes this specific setting in User Guide
- if the setting is not standard, i.e. specific to a third-party synth, go to speech settings in the User Guide
* Rewrite rate boost paragraph as per review comments.

Fixes #7757
Follow-up of #11456

No change log entry required.

Co-authored-by: Reef Turner <reef@nvaccess.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Context Sensitive Help for NVDA Context Sensitive Help in NVDA Dialogs

7 participants