RE: Empty table cell fails PDF/UA-1 validation in FOP 2.11 (passes on FOP 2.10)

Juhani Laiho <[email protected]> Thu, 16 Oct 2025 13:44:31 +0000
Newsgroups gmane.text.xml.fop.user
Message-ID <AS8PR04MB840193D49BD02AE0965A1C5A92E9A@AS8PR04MB8401.eurprd04.prod.outlook.com>
This was probably a testing error on my part.

I apparently had keep-empty-tags=3D"false" in the xconf accessibility eleme=
nt when testing FOP 2.11 but not when testing FOP 2.10. Once I removed keep=
-empty-tags=3D"false" from the FOP 2.11 xconf file, the FOP 2.11 PDF was a =
valid PDF/UA-1 as well according to both veraPDF and PAC.



On 2025/06/24 07:35:47 Juhani Laiho wrote:=20
> Hi,=20
>=20
> Having an empty table cell seems to cause PDF/UA-1 validation to fail in =
PDFs generated with FOP version 2.11. This type of table passes in FOP vers=
ion 2.10 PDFs. See attached tablecols.fo.
>=20
> veraPDF 1.28.1 PDF/UA-1 validation fails for PDF generated with FOP 2.11:=
=20
>=20
> <rule specification=3D"ISO 14289-1:2014" clause=3D"7.2" testNumber=3D"43"=
 status=3D"failed" failedChecks=3D"1" tags=3D"structure,table">
> <description>Table rows shall have the same number of columns (taking int=
o account column spans)</description>=20
> <object>SETable</object>=20
> <test>numberOfRowWithWrongColumnSpan =3D=3D null || wrongColumnSpan =3D=
=3D null</test>=20
> <check status=3D"failed">=20
> <context>root/document[0]/StructTreeRoot[0](26 0 obj PDStructTreeRoot)/K[=
0](28 0 obj SEDocument Document)/K[0](31 0 obj SEPart Part)/K[0](32 0 obj S=
ESect Sect)/K[0](33 0 obj SETable Table)</context>
> <errorMessage>Table rows 1 and 2 span different number of columns (2 and =
1 respectively)</errorMessage>=20
> </check>=20
> </rule>=20
>=20
> ...but passes for PDF generated with FOP 2.10 from same FO.=20
>=20
> PDF Accessibility Checker (PAC) 24.4.2 states that "it's possible that so=
me PDF/UA requirements aren't met" and reports an "irregular table row" in =
FOP 2.11 PDF pointing to R2C2 cell. When checking the FOP 2.10 PDF, PAC rep=
orts that "the PDF/UA requirements checked by PAC are fulfilled".
>=20
> If I test again with no empty cells in tablecols.fo (by uncommenting "R2C=
1"), PDF/UA-1 validation passes for FOP 2.11 PDF with both veraPDF and PAC.
>=20
> Changes I have made to the configuration file (attached fopPDFUA.xconf):=
=20
> - Added accessibility element with value true with keep-empty-tags attrib=
ute set to false.=20
> - Changed default-page-settings to A4 size.=20
> - Added pdf-a-mode element with value PDF/A-2a=20
> - Added pdf-ua-mode element with value PDF/UA-1=20
> - Added version element with value 1.7=20
> - Added font elements for Arial to enable embedding required by PDF/A on =
my Windows installation.=20
> - Disabled font auto-detection.=20
>=20
> PAC: https://pac.pdf-accessibility.org/en=20
> veraPDF: https://verapdf.org=20
>=20
> Could this be a regression? Or should I somehow change my source FO when =
upgrading to FOP 2.11?=20
>=20
> Best regards,=20
> Juhani Laiho=20
>=20
>=20