Table caption
thead
tfoot
ABCDEABCDEABCDEABCDEABCDE
ABCDEABCDEABCDEABCDEABCDE
ABCDABCDABCDABCDABCD
ABCDABCDABCDABCDABCD
ABCABCABCABCABC
ABCABCABCABCABC
ABABABABAB
ABABABABAB
AAAAA
AAAAA

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."

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