双栏PDF在屏幕上排版整齐,标题、正文和脚注的位置都像印刷页一样自然;朗读工具却把左栏第一句接到右栏第二句,再跳回页脚。问题不在“看不见文字”,而在页面的二维外观没有被正确转换成程序可以理解的线性顺序。

同一页至少有三种顺序

第一种是视觉顺序,人眼根据栏位、空白、字号和对齐关系判断从哪里读到哪里。第二种是PDF内容被绘制到页面时的内部顺序,它可能跟排版软件生成对象的先后有关。第三种是标签树表达的逻辑顺序,屏幕阅读器和重排工具主要依靠它理解标题、段落、列表与表格。

W3C的PDF3技术说明指出,PDF文档的阅读顺序主要由元素标签顺序决定,而单个标签内部还会受到内容树结构影响。因此,把文字框拖到正确视觉位置,不会自动改变辅助技术接收到的顺序;反过来,标签树正确也不保证每个表单控件的焦点顺序已经正确。

多栏最容易暴露差异

肉眼会读完左栏再进入右栏。如果转换后的标签树按页面横向坐标交替排列,朗读结果就可能成为“左一、右一、左二、右二”。句子本身都在,组合后的论证却被拆散。

脚注、侧栏、图注和浮动引文会增加难度。它们在视觉上靠近相关正文,不表示内部对象也位于相同逻辑位置。自动转换工具可能把脚注全部放到页面开头,把图注插进上一段,或把装饰文字当成正文重复朗读。

W3C也提醒,复杂页面在转换成Tagged PDF后仍可能需要修复。多栏、表格、脚注、侧栏、表单和图形越多,越不能把“已导出Tagged PDF”当作完成证据。

正确顺序的标准是含义能否保持

WCAG 1.3.2的说明要求:当顺序会改变含义时,至少一个正确顺序必须能够由程序确定。重点不是机械地复制视觉坐标,而是保持内容关系。

例如两篇互不相干的短讯可以先读任何一篇,只要每篇内部没有被另一篇穿插。标题必须先于它所属的正文,步骤要保持先后,表格的表头与数据关系不能被打散。两个独立区块存在多种合理顺序,不是错误;把一个论证拆开才是。

这也解释了为什么“从上到下、从左到右”不是万能修复。右侧警示框若是阅读主流程前必须知道的条件,单纯按坐标放到最后可能仍然改变操作含义。

画面、标签与重排要一起看

第一轮在标签树中检查文档根节点、标题层级、段落、列表和表格。沿标签顺序逐项定位到页面,确认每个节点包含预期文字,装饰元素没有重复进入阅读流。

第二轮使用屏幕阅读器从文档开头连续朗读,不要只点选单段。记录第一次跳栏、重复、遗漏或上下文断裂的位置。第三轮启用重排或窄视窗显示,观察内容被线性排列后是否仍能理解。

三个结果应能互相解释。若标签树顺序正确但朗读仍异常,继续查看标签内部内容树和工具支持;若重排正常而键盘焦点乱跳,再单独检查链接和表单控件的Tab顺序。

修复应尽量回到源文件

最稳定的做法是在文字处理或排版源文件中建立真正的标题、列表、表格和文章流,再重新导出。直接在PDF中拖动标签适合处理遗留文件,但下一次重新导出可能覆盖修复,也容易遗漏跨页关系。

修复多栏时,先确定每一栏内部段落顺序,再决定何时切到下一栏。脚注要和引用位置保持可理解关系,图注要跟对应图像相邻,页眉页脚等重复装饰可标记为不进入主阅读流。

受控比较可以使用同一页的两个版本:版本甲只调整视觉位置,版本乙同时修正源文件结构与标签树。若甲仍然错序而乙在朗读和重排中一致,就能说明问题来自程序化结构,而不是字体或页面缩放。

自动检查只负责发现一部分问题

工具可以发现没有标签、标题层级缺失或某些结构错误,却很难判断一个段落应该接在左栏还是右栏,也无法完全理解复杂图表的叙事关系。自动报告通过,是开始人工验证的条件,不是朗读正确的结论。

同样,文本能够搜索和复制只说明PDF含有文字层。文字层可以存在,标签树仍为空或次序错误。视觉外观、可搜索文字、标签结构和朗读结果是四项不同证据。

结论回到实际阅读任务

PDF页面看起来正确,只能证明视觉排版完成。要判断朗读顺序,应直接检查标签树与内容结构,并用连续朗读和重排验证语义是否保持。复杂版面往往需要人工修复;独立区块则可以有多个正确顺序。最终标准不是标签编号是否整齐,而是读者在不依赖二维页面的情况下,仍能找到标题、跟随段落并理解原来的关系。

标签树正确还要检查内容归属

标签树显示H1、P、P的顺序正确,但一个P节点可能误收了右栏文字,或只包含段落的一半。检查时不能只看节点名称,需要展开节点并定位其实际内容。多次复制粘贴、跨页文本框和分组对象,尤其容易让可见的一段文字被拆进多个内容块。

表格需要额外核对。视觉网格如果只是许多独立文本框,朗读工具无法知道哪一格是列标题。真正的表格结构应保留行、列、表头和数据单元的关系;布局表格若没有数据关系,则不应假装成数据表。

跨页顺序比单页更容易漏检

逐页测试可能每一页都正常,页尾脚注却在下一页标题之后才被读出,或跨页表格重复、遗漏表头。连续朗读至少覆盖一个完整章节,并从页尾穿过页首,才能发现文档级顺序问题。

目录和书签提供快速入口,也要检查目标位置。点击“第三章”后若焦点仍停在页面顶部,视觉用户看到正确页面,屏幕阅读器用户却要从头重新寻找。导航目标、标签结构与视觉页码应当互相对应。

保存一份修复前后的证据

修复前记录文件校验值、失败页码、朗读片段和标签树截图;修复后用同一工具和步骤复测。这样可以确认差异来自结构变更,而不是阅读器版本或临时设置。

如果源文件已经遗失,应在PDF中小范围修复并逐页复核,不要批量按坐标重排整个文档。批量规则可能改善双栏正文,却把封面、目录、表格和附录弄乱。对不同页面类型分别抽样,再扩大处理范围。

发行版本必须与测试版本一致

制作团队常在通过检查后压缩、重新导出或加盖水印,这些步骤可能重新排列对象或移除标签。最终上传前再次计算校验值,并对实际发行文件完成朗读、重排与导航测试。只有测试版本与公开版本一致,验证记录才具有意义。

不同语言还要检查文字方向与分词

混合中文、阿拉伯文或拉丁字母的文档,视觉排版可能依靠文本框方向维持外观。标签语言、段落方向或字符顺序若错误,朗读工具会改变发音与阅读方向。修复时应在文档和局部段落标明正确语言,不要用图片躲避文字方向问题。

断词和连字符也会影响复制与朗读。排版软件为对齐而插入的软连字符,可能在抽取文本时变成实际字符;跨行词被拆开后,搜索结果与引用都会受影响。验证一页多栏资料时,应同时搜索一个跨行词、复制一段并连续朗读,确认文字层和标签树表达的是同一内容。

修复优先级应跟读者任务走

先处理会阻止读者找到正文、打断句义或误读表格的数据关系,再处理不影响含义的细小顺序差异。把每个视觉偏移都当成最高优先,会消耗大量时间,却可能留下真正阻挡导航的问题。记录问题对应的读者任务、严重度和页码,可以让修复与复测保持一致。

如果文档需要长期保存,还应把所用修复工具与导出设置写入制作记录。未来重新排版时,团队才能复现标签生成方式,并知道哪些页面曾经人工调整。没有这份记录,下一版很容易重复同样的错序。

修复应回到源文件结构:核对结论

PDF阅读顺序主要由标签顺序决定。

复杂版面自动转换后常需要人工检查。

辅助技术依据标签树和内容结构线性化页面,而不是依照肉眼看到的二维位置朗读。

视觉双栏可以正确但标签树左右交错;单栏页面也可能因浮动对象插入而错序。

不影响含义的独立区块可以存在多个正确顺序。

同时使用标签树、朗读和重排三种视角验证。

资料来源

  • World Wide Web Consortium:《PDF3: Ensuring correct tab and reading order in PDF documents》,发布或更新于 2016-10-07
  • W3C Web Accessibility Initiative:《Understanding Success Criterion 1.3.2: Meaningful Sequence》,发布或更新于 2025-09-01

继续阅读

首页文章列表相关页面相关页面