Add alt text to images in PDFs
In a tagged PDF, every meaningful image needs an Alt entry on its Figure tag. That is the PDF's version of HTML alt text, and it is what a screen reader reads instead of the picture. W3C publishes PDF1 as a sufficient technique, which means doing it satisfies the rule for those images, and it is one documented route rather than the only one. Word and InDesign carry alt text through when you export a tagged PDF, and in Acrobat Pro you add it through the Tags panel or the accessibility tools. The alternative has to carry the same meaning as the image, not describe how the image looks. In contracts and statements the pictures are often the parts that matter most. The chart, the stamp, the signature.
How we find it in an audit
We open the PDF with a screen reader and listen to what each figure announces, then confirm in Acrobat's Tags panel that every Figure tag carries an Alt entry. A tag with a non-standard name still counts if the document's RoleMap maps that name to Figure, which is why a remediated PDF can read correctly and still look wrong on a quick pass through the tag tree. Acrobat's own checker lists figures with no alt, and only a person can judge whether the text actually describes the image.
How affected users experience it
A screen reader hitting a Figure with no Alt entry says "graphic" and nothing else, or skips it silently. In a bank statement that might be the chart showing where the money went. In a contract, the signature block. The reader knows something is there and has no way to find out what.
Passes vs. fails
Passes
The same lease is exported as a tagged PDF from Word with alt text on each image. "Signature of landlord, J. Alvarez" and "Floor plan, two-bedroom unit, 68 square meters". Each Figure tag carries that text in its Alt entry.
Fails
A signed lease agreement is exported to PDF. The landlord's scanned signature and the property floor plan are untagged images, so a screen reader announces each one only as "graphic".
How this gets tested
The W3C publishes test rules that define what a checker looks for here.
- Element marked as decorative is not exposedA tool can check this
- Image accessible name is descriptiveA tool finds candidates, you decide
- Image button has non-empty accessible nameA tool can check this
- Image has non-empty accessible nameA tool can check this
- Link has non-empty accessible nameA tool can check this
- Object element rendering non-text content has non-empty accessible nameA tool can check this
- SVG element with explicit role has non-empty accessible nameA tool can check this
- Image not in the accessibility tree is decorativeA tool can check this
Other ways to satisfy this rule
39 guides on this site are filed under 1.1.1 Non-text Content. W3C lists this one as sufficient for that rule on its own. Implement it correctly, in a way your readers' software actually supports, and the rule is met.
- ARIA6sufficientName icon-only controls with aria-label
- ARIA9sufficientAssemble one label from several text pieces
- ARIA10sufficientName images and charts with aria-labelledby
- ARIA15sufficientLink complex images to longer descriptions
- C9sufficientPut decorative images in CSS backgrounds
- G68sufficientDescribe the purpose of live-only streams
This guide is our interpretation of W3C technique PDF1: Applying text alternatives to images with the Alt entry in PDF documents. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.