There are a couple of things to keep in mind with tables, captions, and PDF.
The CONTENTS argument will always be used to populate the "summary" attribute of the table. The summary attribute is not visible within the document, it is only available to screen reading software. The summary is important for screen reading software, because when a user navigates the document table by table (pressing the "t" key), the "summary" is announced like it is a label for the table. This way the user has some idea of what the table is they are about to start reading.
The CAPTION argument places a piece of text within the document just above the table to provide a visible label. It is not semantically related to the actual table in any way, other than by proximity. It is a tool to simply place a visible heading above the table. This feature only works when you set ACCESSIBLETABLE. Also, there are no options to change the location of this placement.
There is a <caption> tag in PDF, however, while it provides a nice clean tagging structure, functionally it is far less useful than using the "summary" attribute above, because screen reading software does not treat a <caption> any different than a plain <p> in PDF documents. That is why the caption is not tagged as an actual <caption>.
Putting all of this together, if you want a "caption" placed below the table, you can set CONTENTS to be what should be announced when a screen reader lands on the table, and then make a plain <p> below the table to be your visual caption.
The usefulness of the CAPTION feature is more apparent in the HTML5 destination. In the HTML5 destination:
All tables will always have a <caption> defined, but they can be set to be visible to everyone or only to screen reading software. <caption> acts as the label for the table, like the summary attribute in PDF
The HTML5 <caption> will only be visible on the screen when ACCESSIBLETABLE is on.
When ACCESSIBLETABLE is on, if the CAPTION is defined, that becomes the <caption>. If only the CONTENTS is defined, that becomes the <caption>
Because of this behavior, an existing SAS application can now have table <caption> elements become visible by adding ACCESSIBLETABLE without having to explicitly define a CAPTION. In HTML5 the position of the <caption> can be controlled with CSS and other techniques. This also keeps the CAPTION and SUMMARY independent of each other in case you need to use them for different purposes.
... View more