Currently, I'm generating the following pdf with pdflatex: http://dl.dropbox.com/u/2682197/book.pdf

Unfortunately, this document is a bit incompatible with adobe screen reader (for blind people).

This audio recording demonstrates the result of using adobe screen reader with that document: http://dl.dropbox.com/u/2682197/speech.mp3

In the recording, it's impossible to hear the chapter or section headers.

Any ideas of how to build a "more accessible" document?

  • 2
    What is the code that produces the output PDF?
    – Werner
    Commented Oct 9, 2012 at 19:32
  • 6
    I've done a lot of experiments with screenreaders on a lot of different documents; so far we have concluded that pdf documents are not screen-reader-accessible. We have found, particularly for documents that have mathematical content, the best way (by far is to use htlatex myfile.tex "html,mathml" and then have the screen reader act on the (x)html file. MathML was designed with accessibility in mind. If you'd like me to convert this into an answer, let me know
    – cmhughes
    Commented Oct 9, 2012 at 23:08
  • 1
    This is not surprising at all, given that PDF doesn't really care about the meaning of its content, while HTML is a markup language, (theorically, when properly used) emphasizing the meaning of its content over the aspect (which should be dealt with using CSS).
    – raphink
    Commented Oct 11, 2012 at 12:30
  • Thanks for the help, guys. You convinced me that there's not a good way to make my pdf document more accessible. @cmhughes, you may convert your comment to a answer if you want. Commented Oct 11, 2012 at 16:23
  • See tex.stackexchange.com/questions/128454/…. Maybe people will see this as an interesting project? Commented Aug 17, 2013 at 3:45

4 Answers 4


Your PDF doesn't has the right Character Map defined. You can see that when you copy an heading:

CucZ Z u«±§¶±¶§Z o £§u±

You have the same problem many people have, that you can't copy or search the text in the pdf. There are basically two different things you can use: cmap or \pdfgentounicode. How and when you should use which, is explained here by Heiko. I have found that it resolves all issues I had with copying and now I can even copy most math.

There is also the package mmap, which you can use instead of cmap. More is explained here

  • It worked! I used the \pdfgentounicode solution and it solved the chapter/section headers reading! Thanks! Commented Oct 16, 2012 at 14:49
  • I'm still having problems with the reading of excerpts of programming languages code in the document generated... Any ideas of how to make them more "readable"? Some punctuation chars from the code (such as "object.method();" from a java code) are ignored by the reader... Thanks anyway! Commented Oct 16, 2012 at 17:13

I'm working on a committee to address accessibility at my institution, and we have done a lot of experiments with screen readers on a lot of different documents.

So far we have concluded that pdf documents, no matter how they were generated (LaTeX, Word, LibreOffice, etc), are not screen-reader-accessible when they contain mathematical content.

We have found, particularly for documents that have mathematical content, the best way by far is to convert the .tex file into an html file that has MathML content using, for example,

htlatex myfile.tex "html,mathml" 

and then have the screen reader act on the (x)html file. Interestingly, we have found that while Firefox can render MathML easily, the screen reader (we use Jaws) works better with Internet Explorer with Mathplayer.

MathML greatly improves accessibility of mathematical documents. Indeed, from this format one can either go down the screen reader or the Nemeth Braille route. Some questions that you might also like to have a look at:


One problem with doing a good conversion to a readable document can also be that you haven't got the reading order in the PDF right. This is related to the internal structure of the PDF. There are no widely-recognized or default solutions for this, but you might be interested to try the accessibility package.

If you can't read the German documentation at http://www.babs.gmxhome.de/download/da_pdftex/dok_pdf.pdf, the short version is that you need to include this line in your preamble:


which is enough to generate a tagged pdf which then has the correct reading order. Because this is a package that is useful for other solutions, it would be interesting to hear more about your experiences.

  • I realize that this is not the issue with this specific case, but it may be a solution to other problems with the same symptoms. Commented Aug 13, 2013 at 23:17
  • There appears to be an updated accessibility-meta.
    – Teepeemm
    Commented Apr 8, 2019 at 15:55
  • Anyone stumbling on this should note that at the moment the accessibility package is badly broken (I'm the maintainer; currently it looks more like we'll have to start again from scratch)... Feel free to post issues to github.com/AndyClifton/accessibility/issues. Commented Jul 24, 2020 at 20:04

I found my way to this question with a similar issue: I was attempting to use LaTeX to create a mathematics-bearing PDF document that could be parsed by a screen reader. I tried some of the solutions suggested here (cmap, \pdfgentounicode) to no avail.

What did eventually work for me was changing the font to Times New Roman with \usepackage{times}. It certainly made my document look worse, and it broke a few other visual elements, but it completely repaired the halting cadence of the screen reader on my document as well as fixing the screen reader's difficulty with joined ligatures (e.g. "fi" not being rendered as two separate letters). This also let me continue my normal PDF rendering work flow without any other major adjustments.

I'll note that the screen reader still performed awkwardly on mathematical expressions, but that strikes me as likely unavoidable, and I was happy to at least have the screen reader perform well on the text portions of the document.

  • 1
    Welcome to tex.sx. Commented Sep 1, 2023 at 14:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .