Accessibility in Acrobat DC: Ensure the Accuracy of a Tagged PDF
In each release of Adobe Acrobat Pro DC, we add functionality to help users create PDFs that are accessible for everyone. These updates range in breadth and are automatically delivered to our customers multiple times a year. In the November release, we’re happy to announce that we’ve drastically improved custom tags and tables to make them easier to work with than ever before.
Table editor improvements
Working with tables can be a challenging experience. Over the last year we have made several changes that make the process easier. In the latest release, we have introduced two additional features that I believe will radically change your experience in working with complex tables — the kind of tables with multiple, merged, and nested column and row header cells.
Missing cell relationship
The first such improvement is the ability to highlight Data cells with a missing Header relationship. This makes it easier to see when a Data Cell is not associated with a Header Cell (figure 1). With this information in hand, it is now easier to relate a Data cell to its respective Header Cell(s). This is particularly useful in tables with multiple layers of Header Cells.
In the table below (figure 1), after opening the Table Editor you’ll see that there are multiple issues, as shown by the shading of the various cells. In this image, Header Cells are shaded red and data cells are grey. Of particular note in this case are the cells shaded yellow. This is the new functionality and indicates that those cells are not currently associated with a Header Cell.
Figure 2 (below) shows the new feature, “Show cells with missing header” added to the Table Editor Options. When opening the Table Editor Options for the first time (with the Table Editor active, select a cell in the table, right click, and select “Table Editor Options” from the context menu) the highlight colors are set by default. You can change these selections to colors that you prefer or work best for you. I have changed the color for missing headers to yellow for clearer focus on that issue.
Just fixing the issues regarding mistagged Header Cells (mis-identified as data cells or not set as a merged header cells) may resolve the issues regarding the orphan cells. But, if it doesn’t you will have to manually associate the Data Cell to the correct Header Cell. To do so you need Header Cell IDs. You can manually create those or use the other new Table Editor functionality of auto-generating the Header Cell IDs.
Auto generate Header Cell IDs
Sometimes it is necessary to have Header Cell IDs, as in the above situation where a Data Cell is not associated with a Header Cell. You can still manually create the IDs in whatever format you like however we have added the ability to auto generate the Header Cell IDs.
Again, when in the Table Editor, if you select any cell and right click you will bring up the context menu. The new functionality “Auto Generate Header Cell IDs” has been added to the bottom of the menu (figure 3 below).
Upon selecting “Auto Generate Header Cell IDs” the cell IDs will be created for all Header Cells. It is best to ensure that all Header Cells are correctly tagged, <TH>, before beginning this process. The cell IDs will be created by first indicating the position of the cell, e.g., Row 1, Column 2 indicated by R1C2, followed by the first few characters of the content in the cell. You can always choose to override the auto generated ID and create your own.
To see the IDs for each Header Cell, select the cell, right click to get the context menu and select “Table Cell Properties”. In the bottom section of the Table Cell you will see the ID field filled in as figure 4 shown below. Note the R1C2 indicate the cell position (row 1, column 2) and the first part of the cell content is Merged H (full cell content is Merged Header Column 1).
With this information created in such a way, you can select any data cell and associate the Header Cell IDs to that data cell by selecting the appropriate cell ID from the dropdown. Because the row and column information is represented in the cell ID it makes it much easier to identify when Header Cells(s) to associate to the Data Cell selected.
Updates to the Tags Panel
Since many of us “live” in the Tag Tree (Structure Tree) when fixing inaccessible PDFs, we have made a lot of changes in the last year in navigating the Tag Tree and working with tags. This latest update covers custom tags.
View role-mapped tag for custom tags
Sometimes when converting a document from a source file to a PDF file you will get non-standard tags. To meet the PDF/UA standard, each non-standard tag must be role mapped to a PDF tag. For example, you might have a heading represented with the tag <Heading 1>. As this is not a defined PDF tag, a screen reader will not understand that it is a heading tag and thus it must be mapped to an <H1> tag.
Previously, the only way to ensure that all tags were mapped would be to go into the Role Map editor and manually check for each mapped tag (figure 5 immediately below). With this update, the Tag Tree will, by default, display the role mapped PDF tags (figure 2 above). By using this default view, you can easily see tags that have not been role mapped and correct them. This saves the effort of going through all the tags to check for role mapping and allows you to focus on fixing any that have been missed. And, once you have the “clean” Tag Tree, you don’t have to wonder if you’ve actually caught them all.
To toggle between the views, open the Tag Tree dropdown menu (figure 3) and select “Apply Role Mapping to Tags” (figure 4).
Having recently demoed this new functionality at the Accessing Higher Ground conference to rave reviews, I know that these updates will be an incredible time-saver. As always, please provide us with your feedback so that we can continue to make it easier for everyone to create accessible PDF documents.
Looking back on all we’ve done just in working the Table this year, I’m going to devote my next few blogs in the Tips ‘n Trick series on fixing inaccessible tables.