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

· ai systems design · Source ↗

TLDR

  • 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.

Original | Discuss on HN