References

Beginner-friendly references for web development, with live, editable examples.

The HTML scope attribute

Attribute All modern browsers Updated
Quick answer

The HTML scope attribute declares whether a header cell applies to a row, column, or group. It is used on the <th> element.

Overview

The scope attribute states what a table header cell labels. It is used on table cells (<th>, <td>) and columns.

It defines table structure — spanning cells across rows or columns, and connecting data cells to their headers. These attributes are central to making data tables understandable to screen-reader users.

Syntax

<th scope="col">Name</th>

Values

Value
row | col | rowgroup | colgroup

Best practices

  • Set scope on every <th> so screen readers associate headers with cells.
  • Use colspan/rowspan to merge cells rather than nesting tables.
  • For complex tables, link cells to headers with the headers attribute and matching ids.
  • Add a <caption> so the table has an accessible name.

Accessibility

Adding scope to header cells is the simplest way to make a data table accessible — screen readers use it to announce the relevant header when reading each cell.

Frequently asked questions

What does the scope attribute do?
States what a table header cell labels.
How do I merge table cells?
Use colspan to span columns and rowspan to span rows.
How do I make a data table accessible?
Use <th> headers with scope, add a <caption>, and link cells to headers with headers in complex tables.
Which elements use the scope attribute?
It is an element-specific attribute, used on table cells (<th>, <td>) and columns.