Open gauravahir28 opened 3 years ago
Could you please check in the advanced settings if cancelable speech is on or off? Please try both settings and report if the behavior changes. This would help to investigate further.
Hay @Adriani90 - I tried both! But the behavior is same as I menssioned earlier.
Could you provide a minimal test case (plain html, plain js)? This will help us to understand the mechanism being used to update the title. We can then investigate look at the events the browser / windows is sending to notify of the title change.
We aren't using plain JS for our project. We are using React JS for the project. With Plain JS, NVDA works as expected Where as with Single page applications using React, Angular etc. it does not identify the page title change. As I menssioned in my first comment, You can replicate the behavior at your end by visiting to React JS Home page
React JS only delivers html, javascript and css to the client. It must be possible to reproduce this issue with plain JS. I understand this may not be something you are interested in investigating.
Can you confirm if you have tried other browsers (Chrome / Firefox)?
I can produce this issue on all the browsers listed below with their versions:
Also, you can produce the same issue on Angular JS home page.
Just click on any navigation link such as features, Docs, RESOURCES etc. You will notice that, the page title gets changed but NVDA does not convey the same!
I believe that for example Netlify has solved this by echoing " navigated to XYZ" to presumably some aria-live region somewhere. While it's not plain JS, the Angular website linked to above should be a good starting point to look at what events are being used to alter the page title? Presumably it's just loading in a new component, I don't currently have the time or resources to really dig into this though.
We have the same problem. Inter-page navigation with plain-js works as expected, but when updating the document.title with plain-js, nvda doesn't announce the title change.
Here is a live plain-js example @feerrenrut : https://yasinkuralay.github.io/Nvda-12078-Bug-Reproduction/
Or you can clone the github repo: https://github.com/YasinKuralay/Nvda-12078-Bug-Reproduction.git
There are a few things at play here.
First, some browsers don't fire a name change event on the document when its title changes. You can reproduce that with this test case:
data:text/html,<title>before</title><div onclick="document.title = 'after';">change</div>
In Chromium (and Firefox before version 101), if you press enter on "change", NVDA says nothing. The document title changes to "after", but no event is fired, so NVDA doesn't know about the change.
I fixed this in Firefox 101; see https://bugzilla.mozilla.org/show_bug.cgi?id=1748393. This needs to be fixed in Chromium as well.
Second, NVDA doesn't report name changes except for the focus. This normally makes sense, but it probably should report name changes for document ancestors. You can reproduce this with this test case:
data:text/html,<title>before</title><button onclick="document.title = 'after';">change</button>
Even in Firefox, this doesn't work because the "change" button gets focus. Even though Firefox fires a name change on the document, NVDA ignores it.
Hello, @seanbudd @michaelDCurran
Was the information provided by @jcsteh helpful in solving this problem?
NVDA does not Identify the page title change in Single page applications(SPA). Where as, JAWS Identifies the same!
I was working on a Survey application which was built using React JS. For each survey, the page title was getting changed to the question of the survey The JAWS was announcing the page title as soon as it was getting changed, Where as NVDA wasn't! We had to do some focus management stuff to make NVDA announce the same.
Steps to reproduce:
I can't provide the survey application URL as it is a internal stuff, But you can produce the same behavior on React JS's Official website. Head over to React JS Home page and do the following:
Minimal sample from comment https://github.com/nvaccess/nvda/issues/12078#issuecomment-1243742106 We have the same problem. Inter-page navigation with plain-js works as expected, but when updating the document.title with plain-js, nvda doesn't announce the title change.
Here is a live plain-js example: https://yasinkuralay.github.io/Nvda-12078-Bug-Reproduction/
Or you can clone the github repo: https://github.com/YasinKuralay/Nvda-12078-Bug-Reproduction.git
Actual behavior:
If the Dynamic reporting of the content is turned on, NVDA will speak Navigated to Docs, Navigated to Tutorial etc. as React JS Team has Implemented live announcement for the accessibility purpose. Where as if the Dynamic reporting of the content is turned off, NVDA will speak nothing!
Expected behavior:
NVDA should identify page title change in single page applications(SPA) as it identifies for any other pages.
System configuration
NVDA installed/portable/running from source:
Installed
NVDA version:
2020.3
Windows version:
Windows 10(20H2)
Name and version of other software in use when reproducing the issue:
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 behavior with NVDA 2020.2
If addons are disabled, is your problem still occuring?
Not tried.
Did you try to run the COM registry fixing tool in NVDA menu / tools?
Yes