diff --git a/fop-core/src/main/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverter.java b/fop-core/src/main/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverter.java
index 060316bceaf..4e2690b1c96 100644
--- a/fop-core/src/main/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverter.java
+++ b/fop-core/src/main/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverter.java
@@ -604,12 +604,14 @@ public void run() {
@Override
public void image(final ExternalGraphic eg) {
+ handleStartArtifact(eg);
content(new Event(this) {
public void run() {
eventHandler.image(eg);
}
}, true);
super.image(eg);
+ handleEndArtifact(eg);
}
@Override
diff --git a/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java b/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java
index c3ae3e74024..bc01abd5136 100644
--- a/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java
+++ b/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java
@@ -210,6 +210,28 @@ public void testRemoveTableHeader() throws Exception {
+ "");
}
+ @Test
+ public void testExternalGraphicArtifact() throws Exception {
+ String fo = "\n"
+ + " \n"
+ + " \n"
+ + " \n"
+ + " \n"
+ + " \n"
+ + " \n"
+ + " \n"
+ + ""
+ + "\n"
+ + " \n"
+ + "\n";
+ compare(fo, ""
+ + ""
+ + ""
+ + "");
+ }
+
private void compare(final String fo, String tree) throws Exception {
foLoader = new FOLoader("") {
public InputStream getFoInputStream() {