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() {