3 ms·
And to make matters worse, unlike a GUI, the terminal doesn't provide any semantic information about the content it displays to the OS. This is a problem for a
by miki123211 1y ago
And to make matters worse, unlike a GUI, the terminal doesn't provide any semantic information about the content it displays to the OS.
This is a problem for accessibility software, screen readers, UI automation, voice control etc.
If you want a screen reader to announce that a menu option is selected, you need some way to signal to the OS that there's a menu open, that some text is a menu option, and that the option has the "selected" state. All serious GUI frameworks let you do this (and mostly do it automatically for native controls), so does the web.
TUIs do not (and currently can not) do this. While this is not really a problem for shells or simple Unix utilities, as they just output text which you can read with a screen reader just fine, it gets really annoying with complicated, terminal-based UIs. The modern AI coding agents are very prominent examples of how not to do this right.
- vidarh 1y agoTUI's could be made do this relatively easily. "All" you need is to pick an escape sequence to assign a semantic label to the following span of text, and have the terminal use whatever OS mechanism to make that available to assistive tech. Of course, that doesn't help unless/until at least one prominent terminal actually does it and a few major terminal applications adds support for it.