BookmarkSubscribeRSS Feed
formerRuser
Fluorite | Level 6

Hello community,

 

I'm building accessible, 508 compliant PDFs in SAS 9.4 using ODS PDF. I need most items in the PDF to be "tagged" so that screen readers can navigate the document for the visually impaired. Therefore, I have turned on the "accessible" option. However, sometimes there are items which I do not want tagged: for instance, an empty P""; return in ODS TEXT or a footnote (see example below). How can I remove/prevent tags for some items in the PDF?

 

(Now, I know that space between paragraphs could also be created using ods region, but I am creating thousands of PDFs automatically where the amount of information on each page differs, so I need the positioning of the paragraphs to be automatic. However, I am definitely open to other suggestions.)

 

Here is some mock code:

options orientation=portrait papersize=letter
			nodate nonumber
			topmargin = 0.25in
			bottommargin = 0.25in
			leftmargin = 0.50in
			rightmargin = 0.50in;

title;

ods pdf file="filepathhere\test.pdf"
			title = "My title here"
			author = "Me"
			accessible
			notoc;

			ods layout start style={bordercolor=white borderwidth=0pt};
			ods region	x=0.00in
					y=1.00in;
		
			ods proclabel="Tagging this section I think";
			proc odstext contents=""; /* Trying to avoid a tag here */
				H "This is my heading"
					/ style={font_face='calibri' fontsize=20pt just=c fontweight=bold};
				P "This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. "
					/ style={font_face='times new roman' fontsize=11pt just=l};
				P ""; /* This is a space between my two paragraphs, which I do not want tagged as a paragraph. */
				P "This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. "
					/ style={font_face='times new roman' fontsize=11pt just=l};
			run;

			footnote1 h=10pt j=r f='calibri' "This is my footnote"; /* I do not want the footnote tagged either */

			ods layout end;

ods pdf close;

 

 

4 REPLIES 4
Cynthia_sas
Diamond | Level 26
Hi:
This seems like a question for Tech Support -- if they need to consult with the accessibility team on this request, they have the ability to track the question and refer it to the correct people.
Cynthia
formerRuser
Fluorite | Level 6

Okay, I'll try reaching out to tech support for removing tags for footnotes.

ballardw
Super User

Don't have clue about all the other bits but if you are using the empty paragraph for vertical space I think you can get around that with the ESCAPECHAR and inline formatting with the NEWLINE function:

 

ods escapechar='^';
			proc odstext contents=""; /* Trying to avoid a tag here */
				H "This is my heading"
					/ style={font_face='calibri' fontsize=20pt just=c fontweight=bold};
				P "This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. ^{newline 2} "
					/ style={font_face='times new roman' fontsize=11pt just=l };
				P "This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. "
					/ style={font_face='times new roman' fontsize=11pt just=l};
			run;
formerRuser
Fluorite | Level 6

Thanks, I'll incorporate this for spacing.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1281 views
  • 0 likes
  • 3 in conversation