Bob Cavanaugh wrote:
Is there a way for NVDA to only give as many progress indicator outputs as it can comfortably speak?NVDA doesn't know what it can comfortably speak, because it doesn't know how long the progress bar is.
I think one of two things could be done.
1. If we were to make progress bar announcements interruptible, NVDA could cancel the speech of the current percentage, and replace it with a new percentage when the bar is recalculated. However, in the situation you described, I think what you would end up with is a bunch of partially started speech fragments that never complete. It may never be able to finish speaking a full digit, just a bunch of stuttering gibberish until the bar either bogs down, or completes.
Is that an acceptable outcome? I suspect not.
2. Alternatively, NVDA could try to monitor the speed at which the bar is progressing, and assume that in the future, it will continue at that rate. It would then have to adapt its granularity to the speed of the bar. In other words, if it's taking fifteen minutes, then announcing single percentages would be fine. But if it's taking 15 seconds, only announcing 20%, 50%, and maybe 80%, would be sufficient.
That would require rather a bit of computational guesswork, and coverage for cases where the bar suddenly changed speed as they often do, but I can imagine how to pull it off. I couldn't find anyone asking for this on GitHub.
If one of those is what you want, I suggest you put in a feature request.
3. Well okay there is one more thing: one of NVDA's undocumented settings can help you here, if you don't mind ini file twiddling. Take a look at Brian Gaff's comment in the below.