Skip to content

Commit 47ef2b2

Browse files
AnhelinaMiText-CI
authored andcommitted
Use Reference role for intra-documents targets by default and link for the external links
DEVSIX-8926 Autoported commit. Original commit hash: [a7479b0dc]
1 parent 6c15445 commit 47ef2b2

File tree

9 files changed

+11
-9
lines changed

9 files changed

+11
-9
lines changed

itext/itext.html2pdf/itext/html2pdf/attach/impl/tags/ABlockTagWorker.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ You should have received a copy of the GNU Affero General Public License
2424
using iText.Html2pdf.Attach;
2525
using iText.Html2pdf.Attach.Util;
2626
using iText.Html2pdf.Html;
27-
using iText.Kernel.Pdf.Tagging;
28-
using iText.Layout.Element;
2927
using iText.Layout.Properties;
3028
using iText.StyledXmlParser.Node;
3129
using iText.StyledXmlParser.Resolver.Resource;
@@ -68,7 +66,6 @@ public override void ProcessEnd(IElementNode element, ProcessorContext context)
6866
}
6967
}
7068
}
71-
((Div)GetElementResult()).GetAccessibilityProperties().SetRole(StandardRoles.LINK);
7269
LinkHelper.ApplyLinkAnnotation(GetElementResult(), url, context, element);
7370
}
7471
if (GetElementResult() != null) {

itext/itext.html2pdf/itext/html2pdf/attach/impl/tags/ATagWorker.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ You should have received a copy of the GNU Affero General Public License
2525
using iText.Html2pdf.Attach.Impl.Layout;
2626
using iText.Html2pdf.Attach.Util;
2727
using iText.Html2pdf.Html;
28-
using iText.Kernel.Pdf.Tagging;
2928
using iText.Layout;
3029
using iText.Layout.Element;
3130
using iText.Layout.Properties;
@@ -80,7 +79,6 @@ public override void ProcessEnd(IElementNode element, ProcessorContext context)
8079
}
8180
if (GetAllElements()[i] is IBlockElement) {
8281
Div simulatedDiv = new Div();
83-
simulatedDiv.GetAccessibilityProperties().SetRole(StandardRoles.LINK);
8482
Transform cssTransform = GetAllElements()[i].GetProperty<Transform>(Property.TRANSFORM);
8583
if (cssTransform != null) {
8684
GetAllElements()[i].DeleteOwnProperty(Property.TRANSFORM);

itext/itext.html2pdf/itext/html2pdf/attach/util/LinkHelper.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ You should have received a copy of the GNU Affero General Public License
3535
using iText.Kernel.Pdf.Action;
3636
using iText.Kernel.Pdf.Annot;
3737
using iText.Kernel.Pdf.Tagging;
38+
using iText.Kernel.Pdf.Tagutils;
3839
using iText.Layout;
39-
using iText.Layout.Element;
4040
using iText.Layout.Properties;
4141
using iText.Layout.Tagging;
4242
using iText.StyledXmlParser.Node;
@@ -88,8 +88,15 @@ public static void ApplyLinkAnnotation(IPropertyContainer container, String url,
8888
}
8989
linkAnnotation.SetBorder(new PdfArray(new float[] { 0, 0, 0 }));
9090
container.SetProperty(Property.LINK_ANNOTATION, linkAnnotation);
91-
if (container is ILeafElement && container is IAccessibleElement) {
92-
((IAccessibleElement)container).GetAccessibilityProperties().SetRole(StandardRoles.LINK);
91+
if (container is IAccessibleElement) {
92+
AccessibilityProperties accessibilityProperties = ((IAccessibleElement)container).GetAccessibilityProperties
93+
();
94+
String role = linkAnnotation.GetRoleBasedOnDestination(context.GetPdfDocument());
95+
if (StandardRoles.REFERENCE.Equals(role) && context.GetPdfDocument() != null && PdfVersion.PDF_2_0.CompareTo
96+
(context.GetPdfDocument().GetPdfVersion()) <= 0) {
97+
accessibilityProperties.SetNamespace(PdfNamespace.GetDefault(context.GetPdfDocument()));
98+
}
99+
accessibilityProperties.SetRole(role);
93100
}
94101
}
95102
}

port-hash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9fc82e16bf8bfec12e88f9f18f002dd981c7708b
1+
a7479b0dcccecf7da45e55db2c3f8a57b794bbce

0 commit comments

Comments
 (0)