Skip to content

Commit b50c34e

Browse files
committed
Cache tagging hintkey
DEVSIX-8836
1 parent b6b2129 commit b50c34e

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

layout/src/main/java/com/itextpdf/layout/tagging/LayoutTaggingHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ private int getNearestNextSiblingTagIndex(WaitingTagsManager waitingTagsManager,
685685
}
686686

687687
private static boolean isNonAccessibleHint(TaggingHintKey hintKey) {
688-
return hintKey.getAccessibleElement() == null || hintKey.getAccessibleElement().getAccessibilityProperties().getRole() == null;
688+
return !hintKey.isAccessible();
689689
}
690690

691691
private boolean isTagAlreadyExistsForHint(TaggingHintKey tagHint) {

layout/src/main/java/com/itextpdf/layout/tagging/TaggingHintKey.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public final class TaggingHintKey {
3939
private String overriddenRole;
4040
private boolean elementBasedFinishingOnly;
4141
private TagTreePointer tagPointer;
42+
private final boolean isAccessible;
4243

4344
/**
4445
* Instantiate a new {@link TaggingHintKey} instance.
@@ -49,6 +50,11 @@ public final class TaggingHintKey {
4950
TaggingHintKey(IAccessibleElement elem, boolean createdElementBased) {
5051
this.elem = elem;
5152
this.elementBasedFinishingOnly = createdElementBased;
53+
if (elem == null){
54+
isAccessible = false;
55+
}else{
56+
isAccessible = elem.getAccessibilityProperties().getRole() != null;
57+
}
5258
}
5359

5460
/**
@@ -143,4 +149,8 @@ void setOverriddenRole(String overriddenRole) {
143149
boolean isElementBasedFinishingOnly() {
144150
return elementBasedFinishingOnly;
145151
}
152+
153+
boolean isAccessible() {
154+
return isAccessible;
155+
}
146156
}

0 commit comments

Comments
 (0)