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 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.. </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 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 <<a = href=3D"mailto:alfix86@gmail.com" class=3D"">alfix86@gmail.com</a>> = 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>