Thoughts on Accessibility

image from ArtBreeder

filed under misc on 17 Oct 2021
tagged accessibility, programming, and java

Problem: it’s really hard to make accessible pdfs.

A couple of caveats; I don’t use accessibility tools at either end of the process, so I’m no expert, and I am fully aware most of us are on a hobby or at best shoestring budget, for time, energy, and money. Let’s repeat that; I’m no expert. and it is entirely possible I am missing the forest for the trees (or the trees for the forest), making a mountain out of a molehill, or charging full force into an immovable wall while everyone else is using the open door (it’s a gift). So please read this in light of someone who would like to improve the accessibility of her own works, and is kind of dismayed by how difficult it seems to be even to test, let alone implement.

Current options

Epub. (info) This is essentially a zip file of your work, in html format, complete with font files and such. The benefits are high; almost every platform has something that can read it, and worst case you unzip it. To make one, you don’t need much; a very little tech savvy and either Calibre (GUI) or Pandoc (commandline). Drawbacks? Tables and technical stuff require hand-tweaking; you’re creating a second document. And since there’s no “wow” factor, you’re not earning eyeballs with it, so if “wow” matters to you, epub can’t be a primary format, and maintaining multiple versions is a pain (I know it seems trivial but it adds up, especially if you’re prolific). Additionally, font licensing (ambiguous and messy as it is) often prohibits packaging a font with epubs in particular, or charges exorbitant per book fees (you can get around this with OFL or creative commons licensing).

Accessibility tags. (info) Required by the US government as a box to check for compliance, it applies a structure to the pdf document (they really haven’t one otherwise, even if it looks like it). The sole method I could find for doing so (except business-facing online converter type sites) is through Acrobat Adobe, for (at this time) $14 a month; this is also the only way of verifying your tags visually. The freely available but not open source option is Pave but it is for personal use only, and accepts only very small pdfs.

The current situation

It kind of sucks, to be honest. Epub is probably the easiest, safest bet, but if you want to add accessibility tags, I couldn’t find a way to do it without an expensive subscription, and epub is less than optimal for both versioning reasons and for the necessity to hand-tweak tables and structure (anyone else put important info under tables sometimes, or in a strange sidebar?).

What I envision, and sadly lack the skills to implement, is a desktop program, written in Java, and built on iText, an agpl-licensed pdf manipulation program, that can be run anywhere, like bookbinder. This program would function similar to Pave; you would open your pdf, it would automatically generate a suggested set of tags, and then you could manipulate, add, or remove those tags. The exported pdf would be compliant with standards, ready to go.

I’m asking anyone who read the above, has java experience, and thinks it’s a neat idea, to take a stab at it! We know it’s possible (Pave and bookbinder exist). Can we make a FOSS program that’ll improve accessibility for everyone?