ADHD Reader开源组件:把单词固定在屏幕中央的RSVP阅读器!

ADHD Reader开源组件:把单词固定在屏幕中央的RSVP阅读器!

💡 原文中文,约5100字,阅读约需12分钟。
📝

内容提要

ADHD Reader 是一个开源 React 组件,采用 RSVP 技术将单词固定显示在屏幕中央,通过 ORP 红字锚点、标点与长词延迟、短词合并来减少闪烁,帮助 ADHD 用户专注阅读。支持每分钟 100-900 词,无运行时依赖,可嵌入任意 React 应用,但目前仅支持英语,节奏参数尚缺验证。

🔎

延伸解读

RSVP阅读器的常见痛点与ADHD Reader的改进

多数RSVP工具只按固定间隔闪烁单词,忽略标点、词长和段落节奏,导致大脑疲劳、容易分心。ADHD Reader通过ORP锚点、标点延迟和短词合并,模拟自然阅读的节奏,减少视觉轰炸,让阅读更可持续。

ORP锚点如何减少眼球微动

ORP根据词长将单词的视觉锚点固定在屏幕中央,并用红色突出。无论单词多长,锚点字符位置不变,眼睛无需左右扫视或微调焦点,从而释放认知资源,专注于识别单词本身。

节奏因子:设计假设与未验证的风险

ADHD Reader为标点、长词和短词合并设置了延迟倍数,如句末2.4倍、逗号1.5倍。这些数字基于语言学直觉,但文档未说明是否经过实验验证。固定倍数可能不适用于所有阅读速度,慢速和快速读者对停顿的感知差异较大,这一假设需要更多测试。

作为React组件的集成优势与语言限制

ADHD Reader是无运行时依赖的React组件,可嵌入任何React应用,支持受控和非受控模式,并提供无头引擎。但目前仅支持英语和自动检测,无法处理中文等无空格语言,短词合并逻辑不适用,用户需注意这一边界。

Q&A

ADHD Reader 是什么?它和普通 RSVP 阅读器有什么不同?

ADHD Reader 是一个开源 React 组件,采用 RSVP 技术把单词固定在屏幕中央。与普通 RSVP 阅读器只按固定间隔闪烁单词不同,它加入了 ORP 红字锚点、标点与长词延迟、短词合并等设计,目的是让 ADHD 用户能真正读得下去,而不只是追求速度。

ADHD Reader 的 ORP 锚点是怎么计算的?

ORP 即最佳识别点,按单词长度分五档:1 个字母锚点在第 1 个字母;2 到 5 个字母在第 2 个字母;6 到 9 个字母在第 3 个字母;10 到 13 个字母在第 4 个字母;14 个字母以上在第 5 个字母。锚点字符涂成红色,并用焦点刻度固定在屏幕中央,前导标点会被跳过。

ADHD Reader 如何通过节奏延迟让阅读更自然?

每个词帧的延迟倍数是可叠加的:句末标点 2.4 倍,冒号分号破折号 1.8 倍,逗号 1.5 倍,右引号右括号 1.2 倍,段落换行 1.6 倍,普通换行 1.15 倍。超过 8 个字符的长词每多一个字符加 0.04 倍,上限 1.6 倍;每多合并一个短词加 0.15 倍。这些倍数相乘,模拟默读时自然的停顿节奏。

ADHD Reader 的短词合并是怎么工作的?

长度不超过 4 个字符、没有尾随标点、且在功能词列表里的单词,会被合并到下一个单词,可以链式合并,但最多合并 3 个单词、总长度不超过 14 个字符。合并后 ORP 在最长的那一个单词里计算,比如“in the house”的锚点落在“house”上。这样能减少闪烁次数,降低视觉疲劳。

ADHD Reader 支持中文吗?有什么语言限制?

目前只支持英语和自动检测,自动检测的目标也只有英语。它实际上只能处理空格分词的语言,中文、日文、泰文这些没有空格的语言,短词合并逻辑完全不适用。文档没有明确说“只支持英语”,但类型定义里语言选项只有 auto 和 en。

ADHD Reader 怎么集成到自己的 React 项目里?

可以用 npm install 安装,没有运行时依赖(除了 React 本身)。支持受控和非受控两种模式,可传入 wpm、theme、fontSize 等属性并用回调接收变化。还提供无头引擎 useRsvpReader 和命令式句柄,可以只用引擎驱动自己的 UI,样式用 Tailwind CSS v4 工具类,不用 Tailwind 也可以替换类名。

ADHD Reader 的节奏参数有经过验证吗?存在什么潜在问题?

文档没有说明这些节奏因子是否经过严格验证,也没有给出引用。具体数字如句末 2.4 倍、逗号 1.5 倍的来源不明。更关键的是,固定倍数对不同阅读速度的人是否都适用存疑:200 词/分钟时句末停 720 毫秒,600 词/分钟时只停 240 毫秒,慢速读者可能觉得太短,快速读者可能觉得太长。这个假设尚未被解决。

🏷️

标签

➡️

继续阅读