@a11ign/screenreader-worker

中文文档
0.13.13发布于 2026/10/17AGPL-3.0-or-laterTypeScriptES Module构建来源已验证近 30 天下载 8458

通过Windows上的真实导航驱动一个真实的NVDA屏幕阅读器,并返回它宣布的内容. HTTP合同为API.

中文使用文档
文档目录5 节
  1. HTTP合同是API
  2. CAPTURE_PROTOCOL_VERSION 不是软件包版本
  3. 指南被固定,这是故意的
  4. 方案表面是为了什么
  5. 在你读完笔录之前 值得知道的行为

@a11ign/screenreader-worker

驱动 a 真实的 NVDA 屏幕阅读器 通过在Windows上的真实导航并返回它宣布的内容.

仅限Windows,具有交互式桌面会话. 并不是要围绕:NVDA是真实的 Windows应用程序,而向导需要一个已登录的桌面来驱动它. 服务、 SSH 会话或 utmctl exec 第0会话中所有土地,其中NVDA报告自己缺席为: nvda.start failed: NVDA is not supported ——读来像一个破损的安装,而不是一个.

npm install @a11ign/screenreader-worker
npx a11ign-nvda-worker            # serves on :8765

HTTP合同是API

几乎没有人应该 导入这个包。 抓取需要 Windows, NVDA 和桌面, 所以正常形状是 服务于 HTTP 的小型 Windows 工作人員到任何地方运行的控制器:

POST /capture      { url, task?, probeForms?, probeFocus?, probeTables? }  → the capture
GET  /health       readiness, vitals, environment, code hash
GET  /diagnostics  Edge profile sizes, orphan processes, NVDA config + logs   (on demand — it walks disks)

调度 ready,没有打开 ok。 。 。 . ok 只有"HTTP服务器正在回答"的意思 还有工人 在NVDA无法开始的情况下. ready 实值 关于 环境:边缘可以解决, ForegroundLockTimeout 0,工人是免费的. ready: false 在靴子后是正常的和自我修正的.

看着 vitals.recoveries这算作工人的过错 这游泳池最大的错误 生产 零 失败——一位嘉宾的NVDA在4个捕捉器的4个中变哑了,每一次重试都吸收了,而且 每捕获一个健康同伴的症状是122.9分 40.6分.

CAPTURE_PROTOCOL_VERSION 不是软件包版本

它的版本为 电线合同和证据的含义,独立于铸币局, 并夸大 两个方向都非常昂贵:一个主包不得使缓存抓取无效,以及一个协议 碰不着等少校.

改变证据时跳出它 表示 ——信号读取的新领域,探测器宣布 不一样 它是一个缓存钥匙, 所以一个突起力 完全回收。 这就是重点,这就是为什么一个重构者 绝不能碰它.

指南被固定,这是故意的

"@guidepup/guidepup": "0.31.0" 没有护身符。 指南 解析 NVDA 的演讲 在这个软件包之前, 这样 其版本为证据升级0.29.2 → 0.31.0 固定间歇性目标更换 (U+FFFC)附于表单场公告:15个抓取中1个在前,15个后0个. 警戒范围会让 npm update 悄悄地改变捕捉者所说的.

方案表面是为了什么

import { captureWithNvda, CAPTURE_PROTOCOL_VERSION, codeVersion } from "@a11ign/screenreader-worker";

captureWithNvda(url, options) 是一发路径,用于已经运行在 Windows 框上的控制器. codeVersion() 清理工人自己的档案,以便在工人服务的频道上核实部署情况 ——这很重要,因为推动-当时-重新启动在两个半点上都可能无声地失败,而且一个检查通过 与动作相同的频道 验证什么.

其它的都一样.. capture-core 内部的口水, browser-session,诊断有效载荷 形状——是 非公开 将改变,而无主.

在你读完笔录之前 值得知道的行为

NVDA有两种模式,在 焦点模式 单字母被打入页面而不是导航. A 类 控制激活是一个焦点变化,它可以切换焦点模式 棍子 之后的天真扫荡 激活窗体将自己的快速导航键输入任何焦点。 这里跑来抓了2,122个 每张支票都是绿色的 还有一个站点按键搜索 1 result for FFffGGggKKkkLLll,哪个 被读作页面缺陷。 扫描现在检测回声 并升级出焦点模式,并报告 focusModeStuck 而非无法恢复时的"本页没有链接"——因为"什么都没有找到",以及 "我们不能问" 绝不能是相同的证据.

版本与发布记录

@a11ign/screenreader-worker 共发布 30 个版本,首次发布于 2026/10/04;过去 12 个月发布了 30 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.13.13latest2026/10/1721 天前
0.13.122026/10/1721 天前
0.13.112026/10/1721 天前
0.13.102026/10/1721 天前
0.13.92026/10/1721 天前
0.13.82026/10/1721 天前

其他发布通道:reserved → 0.0.0-reserved.0。

关于 @a11ign/screenreader-worker 的常见问题

@a11ign/screenreader-worker 是什么?

通过Windows上的真实导航驱动一个真实的NVDA屏幕阅读器,并返回它宣布的内容. HTTP合同为API.

如何安装 @a11ign/screenreader-worker?

在项目目录运行 npm install @a11ign/screenreader-worker,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 a11ign-nvda-worker,可以用 npx a11ign-nvda-worker 直接运行。

@a11ign/screenreader-worker 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@a11ign/screenreader-worker 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@a11ign/screenreader-worker 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@a11ign/screenreader-worker 可以商用吗?

@a11ign/screenreader-worker 使用 AGPL-3.0-or-later 许可。最严格的 Copyleft:除分发外,通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括,不构成法律意见,请以许可原文为准。

@a11ign/screenreader-worker 的下载量有多少?

根据 npm 官方下载统计,@a11ign/screenreader-worker 在 2026/10/05 – 2026/11/03 这 30 天内被下载 8,458 次,日均约 282 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@a11ign/screenreader-worker 还在维护吗?

最新版本 0.13.13 发布于 2026/10/17(21 天前);至今共发布 30 个版本,其中过去 12 个月发布了 30 个;首次发布于 2026/10/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。