Re: Terminal Reader and Text User Interface utilities

From: Jon McLaughlin <jon_at_jpmrc.com>
Date: Fri, 21 Apr 2023 06:22:03 UTC
re-sending this response to the list since it went to Alfonso directly on my first try but was meant as a general response.

Hello,
You might be thinking of two different scenarios.

1. A user is connected to the FreeBsd Machine via a terminal session. In this case, you can assume they have a working screen reader already. The standard type of config menus that FreeBSD uses(Blue boxes on some sort of other background) Are rather hard for screen readers since the reader has  no clue what is important to read so it will read every character that is a printing character on those dialogs(aka “Horizontal box drawing right” for every character) In which case, an ultra simple dialog system like you propose would be a good idea. You wouldn’t even need whitespace in it since blind people do not care if it is pretty.

2. A user connected at a terminal session
In this case, I’d suggest looking at either BrlTTY since it has built in speech or Fenrir for python. those two are already screen readers and could use help.. a lot of it. Also, if you could brow-beat someone into making BrlTTY not stutter on a Raspberry Pi 4, that would be amazing. I hear the problem is something to do with there being 2 running audio systems at the same time but I have never been able to replicate the results from the tutorials I found. Once that can run without annoyance, then look into the TUI being more accessible.. 


Also, you don’t need to be visually impaired to know how this stuff works, just turn your monitor off or put a piece of cardboard over the screen if you are on a laptop.. bonus, tape it down so you can’t cheat s easily. Then try to edit a text file. Vim and Emacs are both equally bad on the command line. Nano is passable but I prefer ed because it doesn’t make the screen reader guess about what is important.

Good luck, let me know if you are talking about scenario 1 above because I can test that easily. If it is the latter then I might be convinced to reinstall FreeBSD  on a spare machine.

Best,
Jon




> On Apr 19, 2023, at 11:32 AM, Alfonso Sabato Siciliano <alfix86@gmail.com> wrote:
> 
> Hi all,
> 
> I'd be happy to help to improve accessibility. I have some idea, however
> I would like to understand where to concentrate the effort and the best
> solution.
> 
> We have some utilities with a TUI (Text User Interface) to set up the
> system. For example dialog4ports and portconfig to choose options for
> building and installing ports [0].
> 
> Let's say:
> # cd /usr/ports/editor/vim
> # make config | espeak
> 
> espeak-ng reads: escape characters that are sent to the terminal to
> color fonts and other graphical stuff, chars used to draw borders and
> lines (windows, buttons, etc). Another problem seems to be the
> difficulty of selecting buttons and items in a checklist or radiolist,
> this is the purpose of 'make config'; the problem is to understand
> where is the focus or the cursor.
> 
> I am considering to implement a new utility with a CLI (Command Line
> Interface) for the same purpose. Let's say, for the vim port the output
> could be:
> 
> # make config
> vim port configuration
> 1: print options, 2: save and exit, 3: close without saving
> # 1
> Checklist with 2 items.
> Make Jobs: Enable parallel build. Disabled
> e: enable, c: continue
> # c
> NLS: Native Language Support. Enabled
> d: disable, c: continue
> # c
> End List
> 1: print options, 2: save and exit, 3: close without saving
> # 2
> (Actually vim has more options, this is just a fake example.)
> 
> Can this new CLI utility be useful? Suggestions and feedbacks are
> welcome.
> 
> Regards,
> Alfonso
> 
> [0] https://www.freebsd.org/ports/ <https://www.freebsd.org/ports/>