frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

The text mode lie: why modern TUIs are a nightmare for accessibility

https://xogium.me/the-text-mode-lie-why-modern-tuis-are-a-nightmare-for-accessibility
109•SpyCoder77•2h ago

Comments

NIckGeek•1h ago
I don't think the issue is using declarative UI frameworks, it's that the rendering engines these frameworks are outputting to are not taking accessibility into account.
slopinthebag•1h ago
Does a terminal even have any accessibility support tho?
NewJazz•1h ago
Yes. Well, for cli yes.
paulbgd•1h ago
The article mentions several TUI programs that rendering in an accessible way for screen readers.
slopinthebag•1h ago
Oh well I did't read the article as is tradition
Spooky23•1h ago
Totally. I had a colleague who was a pretty awesome programmer and was completely blind. When I first met him, he was working on a braille 3270 terminal. Those IBM terminals were capable of all sorts of stuff.
MBCook•1h ago
I think it’s clear from the article declarative UI could be done, with correct implementation and some options to disable noise.

Clearly no one put thought into any of that. It was just “make terminal, but pretty”.

gopalv•1h ago
> The reality is different. Most modern Text User Interfaces (TUIs) are often more hostile to accessibility than poorly coded graphical interfaces.

The Claude Code rendering UI is the first place where I realized the TUI is more like a DOS or Borland UI system rather than a command line interface.

I was poking about CLAUDE_CODE_NO_FLICKER=1 setting when I realized what exactly this TUI is, it is layers of stuff showing up on top of each other with terminal codes.

Ended up reading the Ink Terminal implementation of React

https://github.com/vadimdemedes/ink

Fascinating how it ends up looking Wordperfect or Wordstar from the past instead of pixel based graphics.

The usability for a vision impaired user is about the same, though I remember braille pads for DOS tools (80x25) which work better than all the screen readers which came later.

tux•1h ago
Maybe someone should come up with AI for blind people. TUAIs :-)
Lihh27•1h ago
TUIs were supposed to be the simple option. now they're just web apps wearing a terminal costume
danpalmer•1h ago
...but without the web's accessibility options, without good text editing, with very basic customisation options, requiring trusted compute instead of working in a sandbox...

They're a long way from web apps, far worse on most axes.

acjohnson55•1h ago
I've always been a bit mystified by the popularity of TUIs. To me, the power of the terminal is the streaming model. Composible utilities is something that is much less common in GUIs.

I get it that maybe the constraints of terminals force design of TUIs to be more focused on the purpose of the tool than polish, but it's not that compelling of a point to me.

SchemaLoad•1h ago
For some basic stuff like vim it works fine. But for almost everything else I'd rather a regular CLI tool or a web interface. I suspect a lot of the popularity comes from people who want to feel like a hacker using 10 terminal windows, but actually want a GUI like experience.
zbentley•1h ago
This. A lot of folks picked it up for that reason when they were young and now are terminal-all-the-things out of sheer inertia.
xboxnolifes•1h ago
Obviously people want GUIs. That's why TUIs should be compared to GUIs, not to CLIs. TUIs are nice since you get a lot of the benefits of a GUI, without having to leave the context of the terminal.
yellowapple•13m ago
I feel like the better solution here (than trying to shoehorn a GUI into an interface meant for text) is to make terminal windows graphically-aware, like how things work in Plan 9.
bee_rider•46m ago
Vim is special because 99% of what we do is editing text, and it is the text editor—the importance of that task overcomes the poor discoverability of a TUI. Most other programs should be CLI, so they can fit in the conventional command line toolbox.
rgoulter•1h ago
The command line shell has that benefit of piping text between programs. TUIs are runnable from the command line shell. -- So you can get many of the benefits of a GUI (e.g. discoverability) while sticking close to the terminal where you're doing things.

If you're going to "run command, edit command, run command", performing the edits from the terminal you're running the commands in seems reasonable/intuitive. (In contrast, for tools like VSCode, I think it's more common for terminals to take up a fraction of the screen space rather than switching it to full screen. And then developers will say they need a huge monitor).

It also seems to be that keyboard-driven programs are more commonly TUI than GUI. e.g. magit or lazygit. Or lazydocker. Or k9s.

sudosysgen•1h ago
They are very useful when working on remote servers, VMs and containers. Much much more convenient and robust than, say, X forwarding.
christophilus•53m ago
I like them because they’re easy to run in a container / sandbox.
btbuildem•1h ago
The more you look into these trendy TUIs the worse it gets -- it's like the developers took the accumulation of all the worst practices since the dawn of programming, and wrapped it all into one unwieldy, overweight, under-performant gelatinous blob that threatens to collapse under its own weight.
MBCook•1h ago
They’re not terminal UIs.

They’re attempts at pretending to have Windows (etc.) GUIs in a terminal.

Same stuff people made for DOS when Windows wasn’t common or good enough yet.

I’m not surprised they’re a disaster. Or built without understanding the abilities of the terminal they’re running on.

sethaurus•48m ago
If you don't want people calling these apps TUIs, what would you prefer people call them? And what does the term TUI refer to, if not this?
kordlessagain•12m ago
A shell is the environmental manager, the terminal is the display device, and the window is the container. Add in tabs, web panes and sticky notes + make it all agentic, you get Hyperia: https://hyperia.nuts.services
rgoulter•1h ago
I wouldn't have assumed a TUI is accessible just because it's on the terminal. I guess the author encounters people who do.

I am surprised, though, that something like "turning off the cursor" enhances the accessibility.

hilbert42•1h ago
I'd agree with this assessment. Moreover, if developers were to stick with the eminently satisfactory CUA (IBM's Common User Access) interface standard and further regularize that then things would be much easier. https://en.wikipedia.org/wiki/IBM_Common_User_Access

If developers want to experiment with various UI configs then let them but keep a CUA in the background that can be called upon by machines and humans alike. (Unfortunately, ergonomics has never been a strong point for developers.)

rvz•1h ago
As I said before [0], the same web developers that are the ones that ruined the web are now bringing their Java/Typescript, React mess into terminals where it is not needed.

[0] https://news.ycombinator.com/item?id=47364817

dgellow•1h ago
You’re a bit late to the game if you think that’s new. That has been a thing for the past 10y or so
rvz•26m ago
7 years later and nothing has changed [0] and just more of the same web slop now fully taking over its next target.

[0] https://news.ycombinator.com/item?id=20503158

doodlesdev•1h ago
React is software development cancer and it just entered metastasis. It can't be cured anymore, it will spread throughut the entire stack and kill it from the inside. We already have it on the web, on mobile, on Windows 11 and, now, it's coming for the terminal emulator.
llbbdd•35m ago
What do you think React is?
joshka•1h ago
Mitchell Hashimoto has a great response on lobste.rs https://lobste.rs/s/ifbdw1/text_mode_lie_why_modern_tuis_are...

> It isn't fair to blame TUIs.

> The real problem is that pretty much the whole stack has a terrible AX story.

> First, most GPU-rendered terminal emulators don't engage in system-provided accessibility APIs AT ALL. Because text is GPU-rendered, AX tooling can't "read" it, it just shows up as an image. This applies to Kitty, Alacritty, WezTerm. My own terminal Ghostty is AX-readable (on macOS), and so are others like iTerm2 and Terminal.app (which admittedly do it better than me, we have gaps to fill).

> Second, there are no terminal sequences or initiatives at all for TUIs to communicate AX information to the emulator, so the emulator itself can't do much more than display a blob of text to AX tooling. We need the equivalent of ARIA-style annotations but for terminal cells, runs, and regions. No such initiative exists. Even if TUIs do great things with the cursor, this is going to bite a lot of use cases.

> As an example of combining the above, I've been working on something with Ghostty where we integrate semantic prompt (OSC133) and AX APIs so that we can present each shell prompt, input, and command as structurally significant to AX tooling (rather than simply a text box where the cursor is somewhere else). This shows the importance of the relationship between terminal specs (OSC133), TUIs (which must emit OSC133), and terminal emulators (which must both understand OSC133 AND communicate it to AX APIs).

> The whole stack is rotten. And no one is earnestly trying to fix it (including me, I have limited time and I do my best but this is a WHOLE TOPIC that requires a huge amount of time and politicking the ecosystem and I don't have it, sorry).

Bonus: a simultaneously awesome and horrible reality is that AI is really helping to improve AX here. A lot of AI tooling uses/abuses AX APIs to make things happen. How is OpenAI reading your list of windows, typing into them, etc? Accessibility frameworks! So a lot more apps are taking AX integration a lot more seriously since its table stacks for AI using it... Sad it requires that but the glass half full is more software is doing that.

dgellow•1h ago
What is AX in this context?
irickt•1h ago
>> AX originated in reference to UX (User Experience) and stands for Accessibility Experience. AX is also sometimes used as a synonym for accessibility.

The language of accessibility – Staffnet | ETH Zurich https://ethz.ch/staffnet/en/service/communication/digital-ac...

tim--•1h ago
accessibility. Also regularly seen as a11y.
drdec•54m ago
Accessibility, if I am not mistaken
heliumtera•1h ago
[flagged]
tomhow•34m ago
We've banned this account for repeated comments that are obscene and seem LLM-generated.
Beijinger•1h ago
I use mc as a file manager. I have no idea what you are talking about.
dvhh•1h ago
admittedly mc is far from being a "modern" TUI
sedatk•37m ago
mc adheres to NC standard, so you already have an extremely accessible system. The whole UI knowledge can be transferred easily among mc, TotalCmd, or NC from 1988 or whatever. Not the case with most TUIs. I had to use aptitude and git's text mode merge tool recently, and both had terrible accessibility, not to mention entirely different designs too. I'm sure I'd get good at them once I read their manual but they were extremely non-intuitive and hard to explore.
keyle•57m ago
This is a well documented issue, TUI vs. windows.

Back in the 90s when most SAP systems switched from AS/400 terminals to Windows NT, people reported massive losses in productivity.

I've never worked on SAP, my mother did. And basically, she went from a fully tabular, function-key based oriented workflow, to holding a mouse, moving around and clicking a lot (tabbing and F keys were lost for many functions).

She showed me how she could go from ESC ESC F4 F3 TAB TAB and she was across the whole system a super speed. And this was a terminal, not the actual system!

The short of the story is this

Windows based application work best for discoverability and new users

Terminal based applications work best for faster, memory based navigation and power users.

orbital-decay•32m ago
That's a problem with the specific GUI, not GUI as a concept. Good GUI frameworks should be built for predictability and keyboard-driven fast paths, and have this included by default so you don't have to make these decisions for each app.

In fact, all successful applications for professionals/power users are built with productivity and fast paths in mind. Even Microsoft's ribbon which gets a lot of hate for some reason is an example of that, it's keyboard-driven, customizable, and discoverable at the same time.

chihuahua•21m ago
In fact, just about everything in Windows (not apps, since those can be created by 3rd party developers who may or may not care, but the OS) can be operated by keyboard: login, start menu, settings, even ancient tools like Event Viewer.

Agentic Coding Is a Trap

https://larsfaye.com/articles/agentic-coding-is-a-trap
188•ayoisaiah•3h ago•128 comments

Let's Buy Spirit Air

https://letsbuyspiritair.com/
145•bjhess•2h ago•94 comments

BYOMesh – New LoRa mesh radio offers 100x the bandwidth

https://partyon.xyz/@nullagent/116499715071759135
260•nullagent•8h ago•82 comments

The 'Hidden' Costs of Great Abstractions

https://jdgr.net/the-hidden-costs-of-great-abstractions
58•jdgr•3h ago•14 comments

Using "underdrawings" for accurate text and numbers

https://samcollins.blog/underdrawings/
35•samcollins•2d ago•5 comments

DeepClaude – Claude Code agent loop with DeepSeek V4 Pro, 17x cheaper

https://github.com/aattaran/deepclaude
170•alattaran•4h ago•80 comments

Southwest Headquarters Tour

https://katherinemichel.github.io/blog/travel/southwest-headquarters-tour-2026.html
194•KatiMichel•9h ago•61 comments

US–Indian space mission maps extreme subsidence in Mexico City

https://phys.org/news/2026-04-usindian-space-mission-extreme-subsidence.html
102•leopoldj•2d ago•41 comments

Tar Files Created on macOS Display Errors When Extracting on Linux (2024)

https://aruljohn.com/blog/macos-created-tar-files-linux-errors/
42•heresie-dabord•3d ago•31 comments

A desktop made for one

https://isene.org/2026/05/Audience-of-One.html
239•xngbuilds•10h ago•96 comments

The text mode lie: why modern TUIs are a nightmare for accessibility

https://xogium.me/the-text-mode-lie-why-modern-tuis-are-a-nightmare-for-accessibility
110•SpyCoder77•2h ago•44 comments

Introduction to Atom

https://validator.w3.org/feed/docs/atom.html
31•susam•4h ago•7 comments

K3sup – bootstrap K3s over SSH in < 60s

https://github.com/alexellis/k3sup
11•rickcarlino•2d ago•1 comments

OpenAI's o1 correctly diagnosed 67% of ER patients vs. 50-55% by triage doctors

https://www.theguardian.com/technology/2026/apr/30/ai-outperforms-doctors-in-harvard-trial-of-eme...
285•donsupreme•1d ago•246 comments

Bad Connection: Global telecom exploitation by covert surveillance actors

https://citizenlab.ca/research/uncovering-global-telecom-exploitation-by-covert-surveillance-actors/
99•miohtama•10h ago•7 comments

Why TUIs are back

https://wiki.alcidesfonseca.com/blog/why-tuis-are-back/
264•rickcarlino•7h ago•286 comments

New statue in London, attributed to Banksy, of a suited man, blinded by a flag

https://www.smithsonianmag.com/smart-news/attributed-to-banksy-a-new-statue-of-a-suited-man-blind...
271•dryadin•7h ago•275 comments

Mercedes-Benz commits to bringing back physical buttons

https://www.drive.com.au/news/mercedes-benz-commits-to-bringing-back-phycial-buttons/
610•teleforce•11h ago•353 comments

Text-to-CAD

https://github.com/earthtojake/text-to-cad
80•softservo•3d ago•26 comments

I recreated the Apple Lisa computer inside an FPGA [video]

https://www.youtube.com/watch?v=8jNQDcpHc68
74•cyrc•8h ago•15 comments

LLMs Are Not a Higher Level of Abstraction

https://www.lelanthran.com/chap15/content.html
54•lelanthran•8h ago•48 comments

Denuvo has been cracked in all single-player games it previously protected

https://www.tomshardware.com/video-games/pc-gaming/denuvo-has-been-bypassed-in-all-single-player-...
236•oceansky•5d ago•148 comments

Security through obscurity is not bad

https://mobeigi.com/blog/security/security-through-obscurity-is-not-bad/
120•mobeigi•11h ago•143 comments

I built my own hair electrolysis machine

https://www.scd31.com/posts/diy-hair-electrolysis-machine
187•y1n0•4d ago•47 comments

What is Z-Angle Memory and why is Intel developing it?

https://www.hpcwire.com/2026/02/05/what-is-z-angle-memory-and-why-is-intel-developing-it/
85•rbanffy•2d ago•35 comments

Lost in translation: The linguistic challenges facing N. Korean defectors (2025)

https://www.dailynk.com/english/lost-in-translation-the-linguistic-challenges-facing-n-korean-def...
34•spzb•2d ago•22 comments

Make your own microforest (2025)

https://ambrook.com/offrange/environment/a-forest-in-your-pocket
65•bookofjoe•6h ago•15 comments

Show HN: Apple's SHARP running in the browser via ONNX runtime web

https://github.com/bring-shrubbery/ml-sharp-web
159•bring-shrubbery•17h ago•41 comments

Metal Gear Solid 2's source code has been leaked on 4chan

https://www.thegamer.com/mgs2-hd-edition-source-code-massive-leak/
233•rishabhd•9h ago•103 comments

How far behind is each major Chromium browser?

https://chromium-drift.pages.dev/
166•skaul•9h ago•58 comments