Modern TUI frameworks like Ink, Bubble Tea, and tcell treat the terminal as a 2D canvas, making them actively hostile to screen readers like Speakup and NVDA.
Key Takeaways
The core flaw: TUIs abandon stdin/stdout stream flow for a spatial grid model, forcing constant cursor teleportation that spams screen readers with position noise.
Ink-based tools like gemini-cli trigger full re-renders on every state change; pasting text into a long conversation can cause 10-second input lag or NVDA crashes.
Accessible TUIs (vim, nano, irssi) work by hiding the cursor or using VT100 scrolling regions, not by clever framework design.
Modern frameworks ignore terminal hardware capabilities, preferring screen-diffing and rewriting, which is heavier and breaks screen reader focus.
Google’s gemini-cli repo auto-closed accessibility issues via stale bot, erasing bug evidence while boosting closed-issue metrics.
Hacker News Comment Review
Commenters broadly agree the TUI trend trades terminal philosophy for a pseudo-GUI aesthetic, producing tools that are overweight and fragile without the accessibility infrastructure actual GUIs provide.
There is debate over where blame sits: the article targets declarative UI frameworks, but some commenters argue the rendering layer ignoring accessibility is the real root cause.
Several commenters note that keyboard-driven power in tools like vim and emacs comes from their input model, not their TUI rendering, reinforcing the article’s stream-vs-grid argument.
Notable Comments
@gopalv: Identifies CLAUDE_CODE_NO_FLICKER=1 as evidence that Claude Code’s TUI is a layered DOS/Borland-style canvas system, not a CLI.
@danpalmer: Notes modern TUIs lack the web’s accessibility options, text editing, sandboxing, and customization, making them worse than web apps on most axes.