Detailed answer
Place caption inside table to explain the table's purpose.
Make its wording specific enough to distinguish it from other tables on the page. Surrounding prose can discuss trends, but a concise table name still helps navigation. A bold paragraph placed above the table does not establish the same association.
Example
<table><caption>HTML examples by topic</caption><tr><th>Topic</th><th>Examples</th></tr><tr><td>Links</td><td>8</td></tr></table>
Understanding the behavior
A caption names the table as a whole and helps a reader decide whether its information is relevant. Keep it specific enough to distinguish the table from nearby tables. A paragraph before the table is not automatically its programmatic caption.
Practical implementation notes
If units or important limitations apply to every row, state them clearly near the table or in its caption. Do not force people to infer that a number is a percentage or a monthly total.
How to check it
Inspect each caption and confirm it describes that table specifically.
Expected result
A reader can identify the intended table without reading every cell first.
Watch out: Do not hide essential table naming with display:none.
Read the reference ↗