如何使用 XSL:FO 和 Apache FOP 正确标记表边框



我正在使用XSL:FO和Apache FOP创建可访问的文档。要确认辅助功能,应使用 PDF 可访问性检查器 3 (PAC3(。不幸的是,检查器抱怨每个表格单元格边框,因为它是一个未标记的路径对象。所以显示我可以正确添加这些标签吗?

你不能。 您必须向 FOP 提交有关它的错误报告。

边框应标记为"工件",但您没有单独的 FO,因此无法使用使用role="artifact"的 FOP 技术(请参阅 https://xmlgraphics.apache.org/fop/2.3/accessibility.html#customTags(。 它必须在 FOP 内部固定。

FWIW,AH格式化程序曾经有同样的问题。 此外,PAC3 并非没有自己的错误,尽管您的问题可能不是 PAC3 的误报。 例如,你会发现它在摘要中重复计算了一些错误,并且它总是抱怨脚注(但脚注标记在PDF 2.0中发生了变化(。 它也无法处理"Ruby"标签。 但我离题了。

为未来人复活这个问题:

当前 FOP 中的 pdf-ua-mode 选项可启用出色的标记,而无需伪影和元数据(包括难以捉摸的 pdfuaid(

fop.xconf:

<pdf-ua-mode>PDF/UA-1</pdf-ua-mode>

或在 JSP 中:

userAgent.getRendererOptions().put("pdf-ua-mode", "PDF/UA-1");

最新更新