Remix.run Logo
mabedan 9 hours ago

Are they as accessible as GUI though (genuine question)

UI libraries have a lot of features for allowing people with disabilities to “read” and interact with the screen in efficient ways

WhyNotHugo 6 hours ago | parent | next [-]

TUI tools are generally as accessible as the terminal on which they run.

GUI apps are much trickier. They require that the developer implement integration with accessibility frameworks (which vary depending on X11/Wayland) or use a toolkit which does this.

hombre_fatal 3 hours ago | parent | next [-]

GUI kits like AppKit or GTK have built-in accessibility features like standard components (input fields, dropdown boxes) and view hierarchy that interact with accessibility tools for free. It's the main upside of a GUI.

TUIs are tricky.

I think TUI accessibility generally involves rereading the screen on changes (going by macOS VoiceOver). It can optimize this if you use the terminal cursor (move it with ansi sequences) or use simple line-based output, but pretty much zero TUIs do this. You'd have to put a lot of thought into making your TUI screenreader friendly compared to a GUI.

The thing going for you when you build a TUI is that people are used to bad accessibility so they don't expect you to solve the ecosystem. Kind of like how international keyboards don't work in terminal apps because terminal emulator doesn't send raw key scans.

jcgl 3 hours ago | parent | prev [-]

How are TUI tools just as accessible as the terminal? Take a visually-simple program like neomutt or vim. How does a vision-impaired user understand the TUI's layout? E.g. splits and statusbar in vim, or the q:Quit d:Del... labels at the top of neomutt. It seems to me like the TUI, because it only provides the abstraction of raw glyphs, any accessibility is built on hopes and dreams. More complicated TUIs like htop or glances seem like they would be utterly hopeless.

When it comes to GUIs, you have a higher level of abstraction than grid-of-glyphs. By using a GUI toolkit with these abstractions, you can get accessibility (relatively) for free.

Open to having my mind changed though.

4gotunameagain 7 hours ago | parent | prev [-]

Accessibility is a great thing to have and strive for, but it cannot be the number one design principle.

Imagine if everything around us would be designed for blind people.

austinjp 6 hours ago | parent | next [-]

I suspect blind people imagine that a lot.

The idea is to design for all (or as many as feasible), it's not a binary either/or.

4gotunameagain 3 hours ago | parent [-]

You cannot design a lot of TUI for all. Should we abandon TUI entirely ?

TZubiri 6 hours ago | parent | prev [-]

Not necessarily designed for, but accessible to.

Additionally in sysadmin, blind-users are not just some random group, the ability not to use one's eyes is central to the Command Line Interface. You could always in theory get by with just a keyboard and a TTS that reads out the output, it's all based on the STDIO abstractions that are just string streams, completely compatible and accessible to blind, and even deaf users. (Unlike GUIs)