nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
Other
2.08k stars 625 forks source link

Feature request for web page loading indicator #16960

Open Qchristensen opened 1 month ago

Qchristensen commented 1 month ago

Is your feature request related to a problem? Please describe.

Requested by email from user Jordan, who asked for an indicating while a web page is loading.

  1. Open https://certification.nvaccess.org/
  2. The page takes a few seconds to load
  3. The page loads.

At step 2, the NVDA will either say nothing at all (I found this happened with Chrome), or keep reading the old page (I found this happened with Firefox) Exactly what gets read while a page is loading may also be dependent on what was happening in the browser previously?

At step 3, NVDA starts reading the new page title / contents. Especially if NVDA was continuing to read the old page, it may be hard to tell when the changeover occurs.

Even when reading nothing, at step 2, the user is not aware whether something is happening.

Describe the solution you'd like

Some kind of indication that the page is loading. Either sounds, such as the progress bar indicator sound, or spoken such as "Page loading, please wait".

Describe alternatives you've considered

Additional context

Tested using NVDA 2024.3 Beta 5 on Windows 11 (64-bit) Version: 23H2, Build: 22631.3880

with: Chrome Version: 127.0.6533.89 and Firefox Version: 128.0.3 (64-bit)

XLTechie commented 1 month ago

"Press bar indicator sound"?

iOS Safari with Voiceover, has a click sound for page loads. I suppose it is meant to evoke a mechanical counter or clock ticking.

seanbudd commented 1 month ago

I think the best UX here would be a small beep/click every 3 seconds or so - whatever is used for indeterminate progress bars

thgcode commented 1 month ago

On Microsoft Edge, NVDA speaks when the page is loading and when it loads... I wonder if it is something specifically implemented on Edge itself...

nvdaes commented 1 month ago

I think that maybe a bug in the current implementation of this feature. A _loadProgressfunction is defined in the VirtualBufferclass, but seems that now this is not properly called. It should report a message saying Loading document. For testing, I've called this function successfully with self._loadProgressCallLater = gui.NonReEntrantTimer(self._loadProgress). The problem is that I don't know where to call the Stop()method to stop this, and then NVDA inn my tests says Loading document indefinitely.

tarikhadzirovicofficial commented 1 month ago

It would be ideal if there were a checkbox roughly named "Announce web page loading information" located in the Object Presentation category. This checkbox could have the same options as the one for progress bars: off, beep, speak, speak and beep. "The page is loading, please wait." "The page has loaded." "The page is taking too long to load, please wait. "Refreshing the page." "The page has been refreshed." "Closing the page." "The page has been closed."

Qchristensen commented 1 month ago

"Press bar indicator sound"? iOS Safari with Voiceover, has a click sound for page loads. I suppose it is meant to evoke a mechanical counter or clock ticking.

Sorry, I left an ogre out - was meant to say "Progress bar indicator sound"!