fbpx

Understanding Object Attributes in a Tagged PDF

Illustration by Chad Chelius
Illustration by Chad Chelius

Chad Chelius, ADS

Chad Chelius, ADS

Adobe Certified Instructor @ Chax Training and Consulting | Accessibility Training and Consulting

January 24, 2024

If you’ve been tasked with creating accessible PDF files for your organization, you understand that the process can be far from straightforward. Some tasks in the process are pretty simple, while other tasks can be quite complicated. In the end, we all want the user experience for users of assistive technology to be a good one. Sometimes that means we need to go the extra mile to give them that good user experience.

One of the ways that we can gauge whether our document is accessible, is by ensuring that our files are compliant to a standard. The two prominent standards for document accessibility currently are PDF/UA and WCAG. Both standards provide us with reasonable assurance that if we are meeting the standard, users should have a reasonably good user experience. As document remediators, we use automated checkers to make us aware of any glaring errors that may exist in our documents but experienced remediators know that passing the checker isn’t foolproof. In the end, a human needs to make some decisions and some adjustment to ensure that our documents are as accessible as possible.

Meeting compliance comes with some challenges. Standards were developed to give us some assurance that if we abide by the standard, then our documents should be reasonably accessible. Meeting those standards, can sometimes involve drilling down deep into the tag structure to add attributes that help our content to be as accessible as possible.

The attributes I speak of are the ones that you see applied to certain tags in a document and basically provides instructions to the PDF of how content is rendered within the document. To view attributes of a PDF tag, simply right click on a tag in the tags tree, and choose Properties. From there, click the View Attribute Objects button to view the attributes of a tag. From there you can click the New Item button to add an attribute to the tag. These attributes can be tricky to interpret, so I’d like to dive in a little deeper to help you understand what those attributes mean and to help you understand what type of attributes have been applied.

Value Type: Name

The name attribute is one of the more common attributes that you’ll see applied to a PDF tag and when using Adobe Acrobat, it’s also the default value type. Common Name attributes include Placement, Scope, and Summary. To add a Name attribute to a tag, click the New Item button, and in the resulting dialog box enter a value in the Key field such as Placement, and then another value in the Value field such as Block. Click OK, and you’ll see the attribute added in the Attributes dialog box. Now take a closer look at the attribute you just added. You’ll notice that each value is preceded by a “/”. That character is key. When you’re evaluating attributes that have been applied to a tag, if the attribute is preceded by the “/” character, you know that the attribute type is a Name attribute.

The attributes dialog box in Adobe Acrobat showing a name property added. Both the key and value properties are preceded by a forward slash.
The attributes dialog box in Adobe Acrobat showing a name property added. Both the key and value properties are preceded by a forward slash.

Value Type: Integer

Integer attributes are used when the value property for an attribute needs to be defined as a number. One of the more common integer attributes you’ll see used in many PDF files is when defining ColSpan or RowSpan for table cells. Because the value for the ColSpan or RowSpan needs to be a number (or integer), when you create an attribute of this type and ColSpan or RowSpan in the Key field, after typing the number in the value field, you need to be sure that you choose Integer from the Value Type drop-down menu. You’ll notice after adding an integer value that there is no “/” character preceding the value.

When adding a value type of integer, there is no / character preceding the integer value.
When adding a value type of integer, there is no / character preceding the integer value.

Value Type: Array

You’re unlikely to manually add an array to a tag attribute manually. This type of attribute is typically generated by a source software application and is accomplished in an automated fashion. A commonly seen use of an array is for the BBox attribute which is required for <Figure> tags in a PDF file. An array is an array of numbers and in the case of the BBox array, it’s a set of four numbers which defines the position of an object on the page referencing the top left, top right, bottom left, and bottom right coordinates of the figure.

The attributes dialog box showing an array value for the BBox array of a figure tag. The array shows a set of four numbers which defines the position of the figure on the page.
An array is a set of numbers applied within the attribute.

Value Type: Boolean

Some key values that are added to tags may be of the boolean type. Boolean attributes can have one of two values. True, or false. These are easy to identify because the value will show as either true, or false.

Screen shot of the attributes dialog box in Adobe Acrobat with a boolean value added as an attribute showing a value of true.
Boolean attributes can have a value of either true or false

Value Type: Dictionary

Dictionary attributes are container attributes that contain other more specific attributes for a tag. When you open the attributes dialog box for a tag, often it will initially appear blank. In order to add attributes to the tag, you need to click on the New Item button at the bottom of the dialog box which will automatically generate a new Dictionary attribute by default with the name of Attribute Object 1. Dictionary attributes can be identified by the double << and >> surrounding the value of the attribute. Other dictionary attributes can be added within the containing dictionary attribute as needed.

The Attributes dialog box in Adobe Acrobat showing a dictionary attribute surrounded by << and >> symbols.
Dictionary attributes can be identified by the << and >> surrounding the value of the attribute.

Value Type: Fixed Point

The fixed point attribute allows a user to enter a specific value for the attribute. It’s easy to confuse this one with the integer attribute because they look exactly the same. However the fixed point attribute is a unique type of attribute and could be specifically required in certain situations. If you add a value as an integer and find that it doesn’t work, you may need to use the fixed point attribute.

The fixed point attribute has the same appearance as the integer attribute.

Value Type: String

The string value type allows for the input of a string of text. When the value requires more than a numeric value or a true/false value, the string value type gives you the ability to enter more extensive content when appropriate. String values are displayed in parentheses within the Attributes dialog box in Adobe Acrobat.

The Attributes dialog box in Adobe Acrobat showing a string attribute contained in parentheses.
A string value type in the Attributes dialog box shown in parentheses.

Being able to identify the type of attribute applied to a tag can be beneficial when you as the remediate need to make edits to a tag or add additional attributes to a tag. I for one have experienced adding an attribute to a tag and have it not work because the type of attribute that I added was incorrect. I hope you find this article beneficial and I hope it helps you to properly identify attribute types when remediating files on your own.

Published by

Chad Chelius, ADSChad Chelius, ADS

Adobe Certified Instructor @ Chax Training and Consulting | Accessibility Training and Consulting | Adobe Certified Instructor @ Chax Training and Consulting | Accessibility Training and Consulting