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;
Okay, I'll try reaching out to tech support for removing tags for footnotes.
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;
Thanks, I'll incorporate this for spacing.
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!
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.
Ready to level-up your skills? Choose your own adventure.