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

Henrik Bengtsson henrik.bengtsson at gmail.com
Tue May 21 22:23:11 UTC 2019


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




More information about the BlindRUG mailing list