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

Context Help doesn't work for long section names, if Firefox is the default browser #12362

Open
XLTechie opened this issue May 4, 2021 · 10 comments

Comments

@XLTechie
Copy link
Collaborator

XLTechie commented May 4, 2021

Note. This is almost surely a Firefox bug (if it can be replicated). However it causes NVDA's Context Help to fail, which is why I'm posting it here.

Steps to reproduce:

Edit (2024): while it wasn't in the original STR, this can also be replicated by pressing F1 on any NVDA Settings panel item with a name that triggers this bug. Of course, since I'm not absolutely sure why some anchors trigger this bug and some don't, finding one of the broken ones may take a while. Currently, "MSWordUIA" is triggering it for me.

Original STR:

Attempt to open any context help URL from the run dialog, with Firefox set as your default browser.
For example, using the URL file:///C:/Program Files (x86)/NVDA/documentation/en/userGuide.html, and appending one of the anchors below.

This is if pasted directly into the dialog, so Windows has to derive the correct executable, similar to how gui.contextHelp does it. If you prepend with "firefox.exe ", the problem doesn't occur.

Alternative STR:

  1. Press NVDA+h, c, to check for updates.
  2. While an update is pending, press F1.

Actual behavior:

On my system I am finding that:

  1. Short anchors, like these, work just fine.
    • #Introduction
    • #GeneralFeatures
    • #SystemWideParameters
  2. Long anchors, such as these, take one to the top of the manual (TOC):
    • #RunCOMRegistrationFixingTool
    • #PortableAndTemporaryCopyRestrictions
    • #InstallWithIncompatibleAddons
    • #CopyPortableConfigurationToCurrentUserAccount
    • #WordAutomaticColumnAndRowHeaderReading

Firefox shows the correct address in the title bar, including the anchor, you just aren't at the anchor.

At first I thought this was because the anchors were over 25 characters long, like #RunCOMRegistrationFixingTool (28 characters); but then I found that #GeneralSettingsCheckForUpdates (which is 30 characters), works fine.
I now conclude that it relates to long anchors near the end of the document.

Expected behavior:

All anchors take one to the proper manual section under all circumstances.

System configuration

NVDA installed/portable/running from source:

Installed, portable

NVDA version:

(2021) alpha-22581,86fe20ff
(2024) alpha-31457,def4f332

Windows version:

(2021) 10, 20H2, 19042.928
(2024) 11, 23H2, 10.0.22621.3235

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

(2021) Firefox 88.0 (64 bit)
(2024) Firefox 123.0.1 (64 bit)

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

Same, see above. And many stables and betas in between.

If add-ons are disabled, is your problem still occurring?

Yes

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

@XLTechie
Copy link
Collaborator Author

XLTechie commented May 4, 2021

CC @jcsteh @josephsl

@josephsl
Copy link
Collaborator

josephsl commented May 4, 2021 via email

@feerrenrut
Copy link
Contributor

Just to be sure @XLTechie, can you confirm that the anchor in the URL is spelled the same as the a name in the HTML file?

If I paste the following URL into Firefox, it opens to the right section:
https://www.nvaccess.org/files/nvda/documentation/userGuide.html#RunCOMRegistrationFixingTool

Though we actually write a file with a redirect, because we found that one of the browsers didn't like opening files with anchors from the command line. So the following is the redirect, then encoded to base 64 and written as a dataURL. This works pasted into Firefox.

<html><head><meta http-equiv="refresh" content="0;url=https://www.nvaccess.org/files/nvda/documentation/userGuide.html#RunCOMRegistrationFixingTool" /></head></html>
data:text/html;base64,ZGF0YTp0ZXh0L2h0bWwsPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDt1cmw9aHR0cHM6Ly93d3cubnZhY2Nlc3Mub3JnL2ZpbGVzL252ZGEvZG9jdW1lbnRhdGlvbi91c2VyR3VpZGUuaHRtbCNSdW5DT01SZWdpc3RyYXRpb25GaXhpbmdUb29sIiAvPjwvaGVhZD48L2h0bWw+Cg==
data:text/html,<html><head><meta http-equiv="refresh" content="0;url=https://www.nvaccess.org/files/nvda/documentation/userGuide.html#RunCOMRegistrationFixingTool" /></head></html>

@XLTechie
Copy link
Collaborator Author

XLTechie commented May 7, 2021 via email

@josephsl
Copy link
Collaborator

josephsl commented May 7, 2021 via email

@XLTechie
Copy link
Collaborator Author

XLTechie commented May 7, 2021 via email

@XLTechie
Copy link
Collaborator Author

XLTechie commented May 13, 2021 via email

@feerrenrut
Copy link
Contributor

Firefox was the browser that we couldn't get to work with anchors directly on the file URL. So none of the anchors mentioned work from the run dialog for me. Do they work for you?

The reason I pasted in those data URI tests was to try to narrow down the cause of the issue. If those work, we can be more certain it is related to the local file system. I believe I have a long paths setting enabled in Windows which may give me different behavior than you.

Just to confirm with Firefox as my default browser, I have tested pressing F1 in the check for updates dialog. It successfully takes me to anchor #GeneralSettingsCheckForUpdates.

@Adriani90
Copy link
Collaborator

@XLTechie can you reproduce this also with NVDA last alpha and firefox 123?

@XLTechie
Copy link
Collaborator Author

XLTechie commented Mar 18, 2024 via email

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

4 participants