15 March 2017 | Ted Page
There is currently a potentially show-stopping bug in NVDA , relating to the use of the Actual Text attribute in PDFs.
Update, 1 June 2017: With the recent release of NVDA version 2017.2, the bug described below has been fixed.
Now that one of the other major assistive technologies (ATs), namely SuperNova, more or less correctly differentiates between PDF Actual Text and Alternate Text attributes, there is a practical, rather than just a theoretical reason for using each of these attributes correctly and to specification.
However, document authors need to be careful. The problem is that, if you add Actual Text to a piece of content and then delete it again (leaving the Actual Text field empty), the entire document will fail.
The problem
Specifically, if you then open the document in Acrobat Pro or Reader with NVDA running, on a Windows 7 machine NVDA will fall silent until you close Acrobat Pro or Reader. On a Windows 8 or Windows 10 machine, opening the document with NVDA running will immediately crash Acrobat Pro/Reader.
The solution
You can fix the problem in Acrobat Pro by deleting any tag with an empty actual text attribute and then retagging the content in question from scratch.
Exporting to XML
If you don’t know which tag or tags may be causing the problem you can search the PDF’s XML for any empty Actual Text attributes. To export as XML from Acrobat Pro, select File, Export To, and then XML 1.0. (See Figure 1 above.)
Using Ctrl/Cmd + F, you can then search the XML file for any empty Actual Text attributes (ActualText=""
).
Bug reported
We have submitted a bug report with test files to NV Access detailing the problem (#7034). However, for the time being, if you delete the contents of an Actual Text attribute, don’t leave it empty. Instead, delete the tag in question and then recreate it from scratch.