# Accessibility · 无障碍语义

在已挂载视图上提供有界的文本输入上下文与分段阅读投影。labels 可本地化；业务节点应声明自己的无障碍语义或提供 describeBlock。

在已挂载视图上提供有界的文本输入上下文与分段阅读投影。labels 可本地化；业务节点应声明自己的无障碍语义或提供 describeBlock。

`@quirekit/accessibility` · **AGPL-3.0-only**

## 编辑器适用范围
层次：**共享文档能力**
| 编辑器 | 状态 | 所需装配与边界 |
| --- | --- | --- |
| Classic | 需适配 | 需由宿主连接本页所列服务、目标与生命周期，并验证所选 View 和文档模型。核心接口可复用，但没有一段无宿主参数的通用产品安装代码。 |
| Block | 需适配 | 需由宿主连接本页所列服务、目标与生命周期，并验证所选 View 和文档模型。核心接口可复用，但没有一段无宿主参数的通用产品安装代码。 |

“直接支持”指已有上述产品装配；具体交互、宿主服务和格式支持仍有各自条件。[状态与接入规则](/plugins/compatibility)。许可独立显示。

## 接入

```sh
pnpm add @quirekit/accessibility@alpha
```

在创建 Editor 时放入 `extensions`。挂载容器、视图和保存由宿主提供，见[快速开始](/guide/quick-start)。

```ts
import { Accessibility } from '@quirekit/accessibility'
```

安装时按包声明选择兼容版本，外部可用版本以分发源为准。本站使用工作区 Alpha；许可标签来自入口所属包，使用条件见[支持与许可](/support)。

## 按编辑器接入

以下片段沿用已挂载的宿主元素 `element`，宿主负责容器尺寸与保存；退出页面时调用 `instance.destroy()`。已有预设装配的能力不要再重复追加；需要宿主端口的入口应先完成下方配置。

### Classic

需由宿主连接本页所列服务、目标与生命周期，并验证所选 View 和文档模型。核心接口可复用，但没有一段无宿主参数的通用产品安装代码。

### Block

需由宿主连接本页所列服务、目标与生命周期，并验证所选 View 和文档模型。核心接口可复用，但没有一段无宿主参数的通用产品安装代码。

## 配置

下面是扩展自身的默认选项。预设可以覆盖这些值；它们不等于当前文档属性。配置方法见[配置插件](/plugins/configuration)。

### enabled

是否启用此能力的会话行为。禁用不会删除规范文档内容。

类型：`boolean`

默认：`true`

### textBudget

输入上下文允许包含的文本预算，避免每次输入投影整个文档。

类型：`number`

默认：`2048`

### readingBudget

分段阅读一次允许包含的文本预算。

类型：`number`

默认：`8192`

### readingBlocks

单个阅读分段最多包含的块数。

类型：`number`

默认：`40`

### labels

无障碍入口与导航的本地化文字和文案函数。

类型：`QuireAccessibilityLabels`

默认：见下方默认值

```ts
{ input: "文档编辑（当前段落上下文）", reading: "阅读文档", returnToEditor: "返回编辑器", previous: "上一段阅读内容", next: "下一段阅读内容", edit: "编辑此段", empty: "空段落", continuation: "（段落续文）", unavailable: "当前范围暂不支持文本上下文或直接编辑。", unsupported: (name) => `此区块暂未提供阅读语义：${name}`, segment: (index, last) => `阅读分段 ${index}${last ? "，已到文档末尾" : "，后面还有内容"}` }
```

### describeBlock

为自定义块补充无障碍阅读语义；避免依赖内部节点名称猜测含义。

类型：`(node: Node): QuireAccessibleBlockDescription | null`

默认：`(node) => node.isTextblock ? { kind: "paragraph" } : null`

## 命令与运行方式

此入口没有直接声明可枚举的命令。组合扩展的命令由子扩展提供；产品插件通过 contribution 或文件服务工作。不能把安装入口名称当作命令调用。

## 下一步

返回[全部插件](/plugins)，或阅读[配置插件](/plugins/configuration)区分配置、文档属性与命令。

自己定义能力时见[扩展开发](/build/extension)；搭建完整宿主时见[构建产品](/build)。
