# @a11ign/screenreader-worker 中文文档

规范地址：https://npmcn.com/package/%40a11ign/screenreader-worker/

版本：0\.13\.13
npm 元数据更新时间：2026-10-17T12:15:01.230Z
中文译文更新时间：2026-11-06T00:04:44.976Z
软件包许可：AGPL-3\.0-or-later

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40a11ign/screenreader-worker
原文对照：https://npmcn.com/package/%40a11ign/screenreader-worker/?lang=original
项目主页：https://github.com/a11ign/screenreader-worker
源码仓库：https://github.com/a11ign/screenreader-worker

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：758 kB，56 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：1 个
- 首次发布：2026-10-04T09:24:18.407Z
- 最新版本发布：2026-10-17T12:15:00.914Z
- 近 30 天下载量：8458（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：30（近 12 个月 30 个）

## 中文简介

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

## 安装

```sh
npm install @a11ign/screenreader-worker
```

也可以使用：`pnpm add @a11ign/screenreader-worker`、`yarn add @a11ign/screenreader-worker`、`bun add @a11ign/screenreader-worker`

## README

# `@a11ign/screenreader-worker`

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

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

```bash
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` 悄悄地改变捕捉者所说的.

## 方案表面是为了什么

```js
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 是什么？

通过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 和提交记录判断。

