$html-docs
InstallDevelopersPricingSign inOpen drive
All HTML guides
Accessibility7 min read·July 29, 2026

How to Make HTML Tables Easy to Read

Use captions, headers, scope, and responsive wrappers so dense data keeps its meaning on every screen.

The short version

A data cell is only useful when its row and column context remain available.

01

Use tables for data, not layout

A table represents information with relationships across rows and columns. It is the right tool for a pricing comparison, experiment results, or a financial statement. Page layout belongs in CSS grid or flexbox.

Start with a caption that names the dataset. Use th for headers and td for data. For simple tables, scope="col" and scope="row" make those relationships explicit.

html
<div class="table-scroll" role="region" aria-label="Plan limits" tabindex="0">
  <table>
    <caption>Monthly publishing limits</caption>
    <thead>
      <tr><th scope="col">Plan</th><th scope="col">Pages</th></tr>
    </thead>
    <tbody>
      <tr><th scope="row">Starter</th><td>100</td></tr>
    </tbody>
  </table>
</div>
02

Keep complex tables honest

Multi-level headers may require id and headers attributes, but complexity itself is a signal. If readers need a legend to understand the grid, consider splitting it into smaller tables or offering a summary before it.

  • Align numbers consistently and identify units.
  • Do not communicate status with color alone.
  • Keep abbreviations explained in nearby text.
  • Preserve header markup when exporting to another format.
03

Plan for narrow screens

Large tables can scroll horizontally inside a labeled region. Avoid silently hiding columns on mobile because that removes information. If a card view replaces the table, ensure each value carries its label so the row context is not lost.

Official references

  • W3C WAI: Tables tutorial
  • WHATWG: Tabular data

In this guide

  1. 01Use tables for data, not layout
  2. 02Keep complex tables honest
  3. 03Plan for narrow screens
Publish a page

Keep going

Related HTML guides

Browse all 24 guides
Accessibility8 min read

How to Build Accessible HTML Forms

Connect every field to a label, group related controls, explain errors clearly, and make the full flow work from a keyboard.

Read guide
Accessibility6 min read

How to Create a Clear HTML Heading Structure

Turn a visual page into a dependable outline that helps readers scan, navigate, and understand the content.

Read guide
Accessibility5 min read

Links or Buttons? How to Choose the Right HTML Control

Use links for navigation and buttons for actions, then write labels that make the result clear before someone clicks.

Read guide
© 2026 HTML DocsInstallSupportPrivacyTermsAPI