文本模式的谎言:为何现代TUI是可访问性的噩梦
摘要
本文批判了现代文本用户界面(TUI)对屏幕阅读器用户可访问性差的状况,并挑战了基于终端的应用程序天生具有可访问性的误解。
<p><a href="https://lobste.rs/s/9i36rv/text_mode_lie_why_modern_tuis_are">评论</a></p>
查看缓存全文
缓存时间: 2026/08/23 21:23
# 为何现代TUI是无障碍访问的噩梦 – OSnews
来源:https://www.osnews.com/story/144892/the-text-mode-lie-why-modern-tuis-are-a-nightmare-for-accessibility/
主页 (https://www.osnews.com/)\>通用开发 (https://www.osnews.com/topic/general-development/)\>文本模式谎言:为何现代TUI是无障碍访问的噩梦
## 文本模式谎言:为何现代TUI是无障碍访问的噩梦
> 明眼开发者中普遍存在一个误解:若应用程序在终端中运行,它天生就是无障碍的。这种逻辑假设:既然没有图形、没有复杂的DOM、也没有WebGL画布,内容只是屏幕阅读器可以轻松解析的原始ASCII文本。但事实并非如此。大多数现代文本用户界面(TUI)往往比编码糟糕的图形界面对无障碍访问更具敌意。那些旨在改善终端开发者体验(DX)的工具——如Ink(JS/React)、Bubble Tea(Go)或tcell等框架——正在积极破坏盲人用户的使用体验。 ↫ Casey Reeves (https://xogium.me/the-text-mode-lie-why-modern-tuis-are-a-nightmare-for-accessibility)
核心原因显而易见:命令行接口本质上只是数据流,最新数据在底部,向上滚动则线性回溯时间。任何屏幕阅读器都能相对轻松地处理这种结构。尽管我个人无需使用此类工具,但据依赖它的人反馈,内核级屏幕阅读器在这方面表现相当出色。而使用现代框架构建的TUI(文本用户界面)则截然不同:它们是“像素的二维网格,每个字符单元格都是一个像素。它们放弃了时间流式处理,转而采用空间布局。”
这立刻暴露出屏幕阅读器将无所适从的问题。Reeves列举了大量例子,但简而言之:每次屏幕更新时光标会四处跳动,导致屏幕阅读器彻底混乱。相比之下,许多在现代TUI框架出现前设计的老式TUI采用了更友好的终端适配方式,或提供隐藏光标的选项来解决此类问题。例如,Irssi (https://irssi.org/) 使用VT100滚动区域而非每次变化时重绘整个屏幕。
作为视力正常者,我此前确实未曾深入思考TUI与屏幕阅读器的关系。Reeves描述的问题根源似乎并非TUI天生缺乏无障碍支持,而是现代框架未能真正利用终端的核心功能集。衷心希望Reeves的这篇文章能揭示这一问题,并促使这些现代TUI的开发者更加重视无障碍访问。
#### 关于作者
##### Thom Holwerda (https://www.osnews.com/story/author/thom-holwerda/)
在Mastodon关注我[@\[email protected\]](https://exquisite.social/@thomholwerda)
相似文章
别再做终端界面了
作者主张用原生用户界面替代终端界面,并展示了几个借助AI以极少量代码创建的应用程序。
别再做 TUI 了
Thomas Ptacek 主张构建原生图形用户界面而非文本用户界面,他指出编码代理已经降低了开发成本。Simon Willison 基于自己使用 vibe-coded macOS 应用的经验支持这一观点。
终端文本渲染的各种缺陷(2024)
本文探讨了终端模拟器中文本渲染的各种根本性问题,包括字符定义歧义、Unicode处理问题、有缺陷的二维网格假设以及光标不同步,凸显了支持复杂脚本和字体的困难。
我的无障碍技术栈与 Wayland 上的未来
一篇个人记述,讲述 Linux 桌面即将全面转向 Wayland 的未来将如何破坏依赖 Talon Voice 等输入工具的无障碍用户体验,并指出输入无障碍相较于输出无障碍受到的关注严重不足。
@jakevin7: 发表个暴论,TUI 会逐渐式微甚至被淘汰。 我已经很久没有用 claude code 了。基本都是用 slock。 对于临时任务,现在用的更多的是 codex desktop,偶尔用 claude desktop。 让我开始重新思考 TU…
文章讨论了TUI(终端用户界面)在AI编程工具中逐渐式微的趋势,作者认为随着模型能力增强,TUI将被CLI+server架构或Web UI取代,并分享了从Claude Code转向Slock、Codex Desktop等工具的个人体验。