Table caption
thead
tfoot
ABCDE ABCDE ABCDE ABCDE ABCDE
ABCDE ABCDE ABCDE ABCDE ABCDE
ABCD ABCD ABCD ABCD ABCD
ABCD ABCD ABCD ABCD ABCD
ABC ABC ABC ABC ABC
ABC ABC ABC ABC ABC
AB AB AB AB AB
AB AB AB AB AB
A A A A A
A A A A A

This table has tbody {height: 150px; overflow: auto;}

"(...) This division [THEAD, TFOOT and TBODY elements] enables user agents to support scrolling of table bodies independently of the table head and foot."
taken from HTML 4.01 11.2.3 Row groups: the THEAD, TFOOT, and TBODY elements

"(...) navigating THEAD, TBODY, TFOOT with CSS overflow styling (...)

  1. In two dimensions, table header information appears at the top of the rendered table and this information corresponds correctly with table body cells.
  2. In two dimensions, table footer information appears at the bottom of the rendered table and this information corrresponds correctly with table body cell information.
  3. This information remains visible in the view-port while the user scrolls through table body rows."

Test from the UAAG 1.0 test suite at http://www.w3.org/WAI/UA/TS/html401/cp1001/1001-THEAD-TBODY-TFOOT-OVERFLOW.html

Valid HTML 4.01! CSS compliant