Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Apr 2023 00:22:03 -0600
From:      Jon McLaughlin <jon@jpmrc.com>
To:        Jon McLaughlin <jon@jpmrc.com>
Cc:        freebsd-accessibility@freebsd.org
Subject:   Re: Terminal Reader and Text User Interface utilities
Message-ID:  <D8DA6BE5-1C0C-4251-862E-AB745746401A@jpmrc.com>
In-Reply-To: <CAPJrGM0PX31JoGQ5v65LTE2kXEtraz-0wL_8KSA5sEKnT10beg@mail.gmail.com>
References:  <CAPJrGM0PX31JoGQ5v65LTE2kXEtraz-0wL_8KSA5sEKnT10beg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_30CF1453-F239-4F7D-93DA-8769E1FEBE21
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

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 =E2=80=9CHorizontal =
box drawing right=E2=80=9D for every character) In which case, an ultra =
simple dialog system like you propose would be a good idea. You =
wouldn=E2=80=99t 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=E2=80=99d 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..=20


Also, you don=E2=80=99t 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=E2=80=99=
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=E2=80=99t 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:
>=20
> Hi all,
>=20
> 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.
>=20
> 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].
>=20
> Let's say:
> # cd /usr/ports/editor/vim
> # make config | espeak
>=20
> 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.
>=20
> 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:
>=20
> # 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.)
>=20
> Can this new CLI utility be useful? Suggestions and feedbacks are
> welcome.
>=20
> Regards,
> Alfonso
>=20
> [0] https://www.freebsd.org/ports/ <https://www.freebsd.org/ports/>;


--Apple-Mail=_30CF1453-F239-4F7D-93DA-8769E1FEBE21
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><div =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D"">re-sending this response to the list since it went to =
Alfonso directly on my first try but was meant as a general =
response.</span></div><div class=3D""><span style=3D"caret-color: rgb(0, =
0, 0); color: rgb(0, 0, 0);" class=3D""><br class=3D""></span></div><div =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D"">Hello,</span><div style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0);" class=3D"">You might be thinking of two different =
scenarios.</div><div style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D""><br class=3D""></div><div style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">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 &nbsp;no clue what =
is important to read so it will read every character that is a printing =
character on those dialogs(aka =E2=80=9CHorizontal box drawing right=E2=80=
=9D for every character) In which case, an ultra simple dialog system =
like you propose would be a good idea. You wouldn=E2=80=99t even need =
whitespace in it since blind people do not care if it is =
pretty.</div><div style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><br class=3D""></div><div style=3D"caret-color: rgb(0, =
0, 0); color: rgb(0, 0, 0);" class=3D"">2. A user connected at a =
terminal session</div><div style=3D"caret-color: rgb(0, 0, 0); color: =
rgb(0, 0, 0);" class=3D"">In this case, I=E2=80=99d 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..&nbsp;</div><div style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0);" class=3D""><br class=3D""></div><div =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
class=3D""></div><div style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D"">Also, you don=E2=80=99t 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=E2=80=99t 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=E2=80=99t make the screen reader guess =
about what is important.</div><div style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0);" class=3D""><br class=3D""></div><div =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">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 &nbsp;on a spare machine.</div><div =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
class=3D""></div><div style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D"">Best,</div><div style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0);" class=3D"">Jon</div></div><div class=3D""><br =
class=3D""></div><div class=3D""><br class=3D""></div><br =
class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D"">On Apr 19, 2023, at 11:32 AM, Alfonso Sabato Siciliano &lt;<a =
href=3D"mailto:alfix86@gmail.com" class=3D"">alfix86@gmail.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><div class=3D""><div =
dir=3D"ltr" class=3D"">Hi all,<br class=3D""><br class=3D"">I'd be happy =
to help to improve accessibility. I have some idea, however<br =
class=3D"">I would like to understand where to concentrate the effort =
and the best<br class=3D"">solution.<br class=3D""><br class=3D"">We =
have some utilities with a TUI (Text User Interface) to set up the<br =
class=3D"">system. For example dialog4ports and portconfig to choose =
options for<br class=3D"">building and installing ports [0].<br =
class=3D""><br class=3D"">Let's say:<br class=3D""># cd =
/usr/ports/editor/vim<br class=3D""># make config | espeak<br =
class=3D""><br class=3D"">espeak-ng reads: escape characters that are =
sent to the terminal to<br class=3D"">color fonts and other graphical =
stuff, chars used to draw borders and<br class=3D"">lines (windows, =
buttons, etc). Another problem seems to be the<br class=3D"">difficulty =
of selecting buttons and items in a checklist or radiolist,<br =
class=3D"">this is the purpose of 'make config'; the problem is to =
understand<br class=3D"">where is the focus or the cursor.<br =
class=3D""><br class=3D"">I am considering to implement a new utility =
with a CLI (Command Line<br class=3D"">Interface) for the same purpose. =
Let's say, for the vim port the output<br class=3D"">could be:<br =
class=3D""><br class=3D""># make config<br class=3D"">vim port =
configuration<br class=3D"">1: print options, 2: save and exit, 3: close =
without saving<br class=3D""># 1<br class=3D"">Checklist with 2 =
items.<br class=3D"">Make Jobs: Enable parallel build. Disabled<br =
class=3D"">e: enable, c: continue<br class=3D""># c<br class=3D"">NLS: =
Native Language Support. Enabled<br class=3D"">d: disable, c: =
continue<br class=3D""># c<br class=3D"">End List<br class=3D"">1: print =
options, 2: save and exit, 3: close without saving<br class=3D""># 2<br =
class=3D"">(Actually vim has more options, this is just a fake =
example.)<br class=3D""><br class=3D"">Can this new CLI utility be =
useful? Suggestions and feedbacks are<br class=3D"">welcome.<br =
class=3D""><br class=3D"">Regards,<br class=3D"">Alfonso<br class=3D""><br=
 class=3D"">[0] <a href=3D"https://www.freebsd.org/ports/" =
class=3D"">https://www.freebsd.org/ports/</a><br class=3D""></div>
</div></blockquote></div><br class=3D""></body></html>=

--Apple-Mail=_30CF1453-F239-4F7D-93DA-8769E1FEBE21--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D8DA6BE5-1C0C-4251-862E-AB745746401A>