https://bugs.documentfoundation.org/show_bug.cgi?id=152234
Bug ID: 152234
Summary: FILESAVE PDF PAC tool reports "Widget annotation not
nested inside a Form structure element" with form
objects
Product: LibreOffice
Version: 7.5.0.0 alpha0+ Master
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: Printing and PDF export
Assignee: [email protected]
Reporter: [email protected]
Blocks: 139007
Created attachment 183804
--> https://bugs.documentfoundation.org/attachment.cgi?id=183804&action=edit
Example file with all form controls from Writer
When the attached file with all Writer Form controls is exported to PDF with
PDF/UA enabled and the file is checked in the PAC tool, the reported error is
"Widget annotation not nested inside a Form structure element"
1, Open attached file
2, Export it as PDF, with enabled PDF/UA option
3, Check with the PAC tool:
https://pdfua.foundation/en/pdf-accessibility-checker-pac
PAC would report the error on the attached screenshot.
VeraPDF https://demo.verapdf.org/ with PDF/UA setting on the second page,
reports:
Validation information
Rule Status
Specification: ISO 14289-1:2014, Clause: 7.18.1, Test number: 3
A form field whose hidden flag is not set and whose rectangle is not outside
the crop-box shall have a TU key present or all its Widget annotations shall
have alternative descriptions (in the form of an Alt entry in the enclosing
structure elements) Failed
13 occurrences Hide
PDWidgetAnnot
isOutsideCropBox == true || (F & 2) == 2 || (TU != null && TU != '') || (Alt !=
null && Alt != '')
root/document[0]/pages[0](1 0 obj PDPage)/annots[0](22 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[1](26 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[2](28 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[3](31 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[4](50 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[5](33 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[6](36 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[7](38 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[8](40 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[9](42 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[10](44 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[11](46 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[12](48 0 obj PDWidgetAnnot)
Specification: ISO 14289-1:2014, Clause: 7.18.4, Test number: 2
If the Form element omits a Role attribute (Table 348), it shall have only one
child: an object reference (14.7.4.3) identifying the widget annotation per ISO
32000-1:2008, 14.8.4.5, Table 340. Failed
13 occurrences Hide
SEForm
roleAttribute != null || hasOneInteractiveChild == true
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[16](21 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[17](25 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[18](27 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[19](30 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[20](32 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[21](35 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[22](37 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[23](39 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[24](41 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[25](43 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[26](45 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[27](47 0 obj SEForm Form)
root/document[0]/StructTreeRoot[0](82 0 obj PDStructTreeRoot)/K[0](4 0 obj
SEDocument Document)/K[28](49 0 obj SEForm Form)
Specification: ISO 14289-1:2014, Clause: 7.18.4, Test number: 1
A Widget annotation shall be nested within a Form tag per ISO 32000-1:2008,
14.8.4.5, Table 340. Failed
13 occurrences Hide
PDWidgetAnnot
structParentType == 'Form' || isOutsideCropBox == true || (F & 2) == 2
root/document[0]/pages[0](1 0 obj PDPage)/annots[0](22 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[1](26 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[2](28 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[3](31 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[4](50 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[5](33 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[6](36 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[7](38 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[8](40 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[9](42 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[10](44 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[11](46 0 obj PDWidgetAnnot)
root/document[0]/pages[0](1 0 obj PDPage)/annots[12](48 0 obj PDWidgetAnnot)
Specification: ISO 14289-1:2014, Clause: 7.1, Test number: 3
Content shall be marked as Artifact or tagged as real content Failed
5 occurrences Hide
SESimpleContentItem
parentStructureTag != null || parentsTags.split('&').filter(elem => elem ==
'Artifact').length > 0
root/document[0]/pages[0](1 0 obj PDPage)/annots[1](26 0 obj
PDWidgetAnnot)/appearance[0](102 0 obj
PDSemanticContentStream)/content[0]/contentItem[0]
root/document[0]/pages[0](1 0 obj PDPage)/annots[2](28 0 obj
PDWidgetAnnot)/appearance[0](104 0 obj
PDSemanticContentStream)/content[0]/contentItem[0]
root/document[0]/pages[0](1 0 obj PDPage)/annots[3](31 0 obj
PDWidgetAnnot)/appearance[0](105 0 obj
PDSemanticContentStream)/content[0]/contentItem[0]
root/document[0]/pages[0](1 0 obj PDPage)/annots[4](50 0 obj
PDWidgetAnnot)/appearance[0](114 0 obj
PDSemanticContentStream)/content[0]/contentItem[0]
root/document[0]/pages[0](1 0 obj PDPage)/contentStream[0](2 0 obj
PDSemanticContentStream)/content[18]/contentItem[0]
Version: 7.5.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 5116d6ad85d804e7b7897bc57a4a4bf9d5bed4f1
CPU threads: 14; OS: Windows 10.0 Build 19044; UI render: Skia/Raster; VCL: win
Locale: de-DE (hu_HU); UI: en-US
Calc: threaded
Referenced Bugs:
https://bugs.documentfoundation.org/show_bug.cgi?id=139007
[Bug 139007] [META] PDF accessibility
--
You are receiving this mail because:
You are the assignee for the bug.