diff --git a/openhtmltopdf-pdfbox/src/main/java/com/openhtmltopdf/pdfboxout/PdfBoxAccessibilityHelper.java b/openhtmltopdf-pdfbox/src/main/java/com/openhtmltopdf/pdfboxout/PdfBoxAccessibilityHelper.java
index 0258e9cbd..31b91d7a5 100644
--- a/openhtmltopdf-pdfbox/src/main/java/com/openhtmltopdf/pdfboxout/PdfBoxAccessibilityHelper.java
+++ b/openhtmltopdf-pdfbox/src/main/java/com/openhtmltopdf/pdfboxout/PdfBoxAccessibilityHelper.java
@@ -913,7 +913,9 @@ private COSDictionary createMarkedContentDictionary() {
private void ensureAncestorTree(AbstractTreeItem child, Box parent) {
// Walk up the ancestor tree making sure they all have accessibility objects.
+ boolean newAccessibilityObjectCreated=false;
while (parent != null && parent.getAccessibilityObject() == null) {
+ newAccessibilityObjectCreated=true;
AbstractStructualElement parentItem = createStructureItem(null, parent);
parent.setAccessiblityObject(parentItem);
@@ -923,6 +925,11 @@ private void ensureAncestorTree(AbstractTreeItem child, Box parent) {
child = parentItem;
parent = parent.getParent();
}
+ if(newAccessibilityObjectCreated) {
+ AbstractStructualElement alreadyExistingAccessibilityObject = (AbstractStructualElement) parent.getAccessibilityObject();
+ child.parent = alreadyExistingAccessibilityObject;
+ alreadyExistingAccessibilityObject.addChild(child);
+ }
}
private AbstractStructualElement createStructureItem(StructureType type, Box box) {