[BlindRUG] Text-based progress bars and screen readers?

Henrik Bengtsson henrik.bengtsson at gmail.com
Mon May 27 06:28:46 UTC 2019


Thank you all for the feedback.

I've learned a lot and realize that there's much more to learn. If you
know of any online videos that illustrate the use of R with screen
readers in general, please let me know.

I am also impressed that the NVDA software manages to identify R's
text-based output of equal signs as progress bars and turn those into
sound/beeps to convey progress.

Back to progress bars:  It sounds like plain numeric text works best
in most cases, e.g. 10%, 20%, ... and so on.  What I don't understand
is, if there's a line that displays 10%, then a few seconds later it
replaces it with 20%, and another few seconds later it rewrites it
with 30%, and so on, will the screen reader read out 10%, 20%, 30%,
...?  For example, what will be read if you cut'n'paste the following
code snippet in R that runs in the terminal?

  for (pp in c(10,20,30,40)) { cat(paste0("\r", pp, "%"));
Sys.sleep(2) }; cat("\n")

Does it read differently, if one uses a newline instead of a carriage
return at each update like in:

  for (pp in c(10,20,30,40)) { cat(paste0("\n", pp, "%"));
Sys.sleep(2) }; cat("\n")

For these two code snippets to work in Rgui on Windows, one needs to
turn off buffered output (Ctrl+W).

As a supplement (or a complement) to text-based progress updates,
would audial cues be useful to convey progress?  Here's a naive, toy
example:

  for (ss in c(2,10,10,10,10,11)) { beepr::beep(ss); Sys.sleep(1) }

Would it be useful there was an R option that would give the end user
full control in how progress updates are rendered in R, e.g.
text-based or window-based progress bars, plain text, auditory, and so
on?

Thanks,

Henrik


On Wed, May 22, 2019 at 2:36 PM Godfrey, Jonathan via BlindRUG
<blindrug at nfbnet.org> wrote:
>
> In addition, I'd point out that screen readers on Windows generally filter repeated characters so that a string of 10 = signs will be read as "===".
>
> The addition of a single character on the end of a string will/might generate audio for each addition, but replacement of the whole string will/might result in much more audible garbage.
>
> I know that at least one screen reader allows the user the ability to choose the level of filtering, but to be honest, the average user probably doesn't go changing this sort of setting. In my experience, the blind user who must know exactly how many characters are repeated as a string, would almost certainly not be working audio alone.
>
> Jonathan
>
> -----Original Message-----
> From: BlindRUG <blindrug-bounces at nfbnet.org> On Behalf Of Voica Gavrilut via BlindRUG
> Sent: Thursday, 23 May 2019 2:08 AM
> To: Blind R Users Group <blindrug at nfbnet.org>
> Cc: Voica Gavrilut <voica.gavrilut at gmail.com>
> Subject: Re: [BlindRUG] Text-based progress bars and screen readers?
>
> Hey Henrik,
>
> I think that it depends on screen reader and on how this is
> configured. The first 2 alternatives will beep with an increased pitch
> for me ( by NVDA) and with the third alternative in addition of beeps
> I would have the possibility to read the text.
>
> All best
> Voica
> On 5/22/19, Henrik Bengtsson via BlindRUG <blindrug at nfbnet.org> wrote:
> > Hi,
> >
> > I'm interested in how text-based progress bars in the terminal works
> > with screen readers.  I'm hoping someone with experience with R and
> > screen readers can comment on this.  In short, do these text-based
> > progress bars play well with screen readers or are they painful to
> > listen too?  What would be a better alternative for auditory feedback
> > on progress be?
> >
> > Detailed questions:
> >
> > In R, we have utils::txtProgressBar() for producing progress bars in
> > the terminal.  Like other solutions, it works by outputting a
> > single-line of symbols where the number of symbols relative to the
> > width of the terminal reflects the amount of progress.  Calling:
> >
> > example("txtProgressBar", package="utils")
> >
> > illustrates three kinds of progress bars typically used.  I can
> > imagine several issues with these when using screen readers because
> > they are designed to be perceived visually.  For example,
> >
> > Q1. The screen reader will read out every single symbol as is, i.e. a
> > sequence of 20 equal signs (the symbol used by default) will be a long
> > repetitive readout.  Here is an example of such a progress bar at
> > length 20:
> >
> > ====================
> >
> > Here is the same progress bar of length 40:
> >
> > ========================================
> >
> > How well do these convey progress when used with a screen reader?
> >
> > Q2. Some progress bars will append to the existing output as it grows.
> > This means that there will be 80 equal signs outputted if the maximum
> > width is 80.  Other solutions will rewrite the whole line at each
> > update, which is down by skipping back to the first position and
> > outputting the whole line.  If each of the 80 steps is outputted, I
> > can imagine the screen reader will first render a progress bar of
> > length 1, then redo the same of length 2, and so on.  That is a lot of
> > voiced output if that is what happens.  Is that the case?
> >
> >
> > Q3. Other progress bars output includes both a visual bar and textual
> > information.  Here is an example of a progress bar at 40% completion:
> >
> >   |============                  |  40%
> >
> > How does this kind of progress bar work with screen readers?
> >
> > Best,
> >
> > Henrik
> >
> > _______________________________________________
> > BlindRUG mailing list
> > BlindRUG at nfbnet.org
> > http://nfbnet.org/mailman/listinfo/blindrug_nfbnet.org
> > To unsubscribe, change your list options or get your account info for
> > BlindRUG:
> > http://nfbnet.org/mailman/options/blindrug_nfbnet.org/voica.gavrilut%40gmail.com
> > The list archive can be viewed at:
> > http://www.nfbnet.org/pipermail/blindrug_nfbnet.org
> > More information and useful links about using R as a blind person can be
> > obtained at:
> > http://R-Resources.massey.ac.nz
> >
> > Look for help using R commands by reading the accessible e-book "Let's Use R
> > Now" compiled by Jonathan Godfrey at:
> > http://R-Resources.massey.ac.nz/lurn/front.html
> >
>
> _______________________________________________
> BlindRUG mailing list
> BlindRUG at nfbnet.org
> http://nfbnet.org/mailman/listinfo/blindrug_nfbnet.org
> To unsubscribe, change your list options or get your account info for BlindRUG:
> http://nfbnet.org/mailman/options/blindrug_nfbnet.org/a.j.godfrey%40massey.ac.nz
> The list archive can be viewed at:
> http://www.nfbnet.org/pipermail/blindrug_nfbnet.org
> More information and useful links about using R as a blind person can be obtained at:
> http://R-Resources.massey.ac.nz
>
> Look for help using R commands by reading the accessible e-book "Let's Use R Now" compiled by Jonathan Godfrey at:
> http://R-Resources.massey.ac.nz/lurn/front.html
>
> _______________________________________________
> BlindRUG mailing list
> BlindRUG at nfbnet.org
> http://nfbnet.org/mailman/listinfo/blindrug_nfbnet.org
> To unsubscribe, change your list options or get your account info for BlindRUG:
> http://nfbnet.org/mailman/options/blindrug_nfbnet.org/henrik.bengtsson%40gmail.com
> The list archive can be viewed at:
> http://www.nfbnet.org/pipermail/blindrug_nfbnet.org
> More information and useful links about using R as a blind person can be obtained at:
> http://R-Resources.massey.ac.nz
>
> Look for help using R commands by reading the accessible e-book "Let's Use R Now" compiled by Jonathan Godfrey at:
> http://R-Resources.massey.ac.nz/lurn/front.html




More information about the BlindRUG mailing list