@a11ign/documents
PDF 层 (AR 0036 (英语), 第68页. 读取 PDF 本身的可访问性 标签树 直接 - 一个屏幕读取器或者像 PAC 这样的检查器的结构 - 而不是 提供文档或驱动任何辅助技术。 没有浏览器 没有NVDA 没有车队.
import { scanPdfTagTree } from "@a11ign/documents";
const result = await scanPdfTagTree("https://example.com/report.pdf");
if (result.ok) {
for (const finding of result.findings) {
console.log(finding.rule, finding.wcag, finding.help);
}
} else {
console.error(result.error);
}
looksLikePdfUrl(url) 告诉呼叫者目标是否属于此层, 扩展后, 在
获取的任何东西 -- -- CLI(a11ign)使用它来引导 a .pdf 这里的 URL 而不是租赁 a
屏幕阅读器工人.
它检查什么
三个结构事实 直接从目录和结构元素词典读取
pdf-lib,从未从渲染中推断:
| 调查结果 | 西非咨询组 | 内容 |
|---|---|---|
pdf-untagged | 1.3.1 国家 | /MarkInfo /Marked true 财务报告和审定财务报表 /StructTreeRoot 二者不同时存在 -- -- 文件中没有任何一个具有方案确定性的结构 |
pdf-missing-lang | 3.1.1 国家 | 目录没有 /Lang |
pdf-figure-no-alt | 1.1.1 (中文(简体) ) | (单位:千美元) Figure 结构元素(行走) /StructTreeRoot是因为 /K 树)没有 /Alt |
pdf-figure-no-alt 当结构元素的 /Pg 决定执行文件之一
页面.
为什么会这样
#68自己的第二层标准是"最廉价的证明[层]合同错误,如果
这是错的,而不是对用户最有用的。" 一个PDF没有DOM,没有实时导航命令,以及
可能连屏幕阅读器和基于规则的地层 假设的“一页”都没有. ceo裁决
# 1131 只从键盘上挑取( 测试模型最少) , 对比/ 视觉( 需要渲染管道)
和认知(几乎完全转诊) 正是因为这个原因.
报告 Report.pdf (单位:千美元)packages/cli/src/report.ts 内 a11ign/a11ign同样的方式,轴-核心报告通过
Report.axe - 一个新领域,从来没有改变到 @a11ign/evidence 或者说 @a11ign/judge形状.
在这里工作
软件包是此寄存器的根 : 1 package.json,一个 README.md (此文件, 也是 npm 页面), 1 LICENSE,没有工作空间文件.
pnpm run layout-check 在返回的单列形状上失败( q)@a11ign/toolchain/layout-check),CI运行.
pnpm install --frozen-lockfile
pnpm test # what the `gate` check runs on every pull request and merge-queue entry
pnpm run smoke # packs the package and runs it from the tarball, outside this repository
main 通过合并队列只取拉动请求,每个请求都有一个批准审查。 变化应该达到 npm 带有
更改et (pnpm exec changeset),并合并到 main 是释放( e).github/workflows/release.yml· ; .changeset/README.md) (中文(简体) ).