Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-3007

Better tagging support in accessibility mode



    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.6
    • None
    • renderer/pdf
    • None


      Hi there,

      my customer posted the following request to your mailing list few years ago about better tagging support in FOP:


      Since the answer was that it would be an improvement for FOP if he would provide a patch for it, he started to develop an adjusted version (or better, he let third party developers do it).

      We have been using this adjusted FOP for quite a while now to produce accessible PDFs. My customer has now asked me to provide the changes as a patch back to the official FOP repository.

      To prepare this, I published now the adjusted version in the following public GitHub project (a fork of the FOP project):


      Here are some examples you can try out:


      The adjustments are basically implemended as three features:

      1. a CLI switch -noautopdftag has been introduced. This switch disables the tagging for structrure-only FO nodes that do not have a role attribute. Structrure-only nodes are nodes that do not contain text content.
      2. a CLI switch -rolemap [rolemap-file] has been introduced. The rolemap file overrides the default tagging for FO elements by name. E.g. you can specify that the FO element static-content gets the tag Artifact by default.
      3. To specify attributes of PDF tags, a special syntax for roles has been introduced. If you define a <fo:block role="P?attr=value"> it will be converted to a PDF tag P with the attribute attr which has the value value.

      More details you will find in the above linked examples.

      Before I invest more time and money, I would like clarify at first some key questions:

      1. Are you still intressted in taking over the adjustments? Is there a FOP developer available to commit our changes?
      2. What are your requirements for taking over the code?
      3. Would you take over the given concepts or do you need some changes?

      Please let me know, if you have any further questions about it.

      Best Regards,
      Nico Kutscherauer
      data2type GmbH




            Unassigned Unassigned
            nkutsche Nico Kutscherauer
            0 Vote for this issue
            3 Start watching this issue