Semantics

A section containing data arranged in rows and columns.

Additional info from the ARIA specification

See related grid.

The table role is intended for tabular containers which are not interactive. If the tabular container maintains a selection state, provides its own two-dimensional navigation, or allows the user to rearrange or otherwise manipulate its contents or the display thereof, authors SHOULD use grid or treegrid instead.

Authors SHOULD provide an accessible name for a table, which can be done with the aria-label or aria-labelledby attribute. Authors SHOULD reference a visible label with aria-labelledby if a visible label is present for the table.

Authors SHOULD prefer the use of the host language's semantics for table whenever possible, such as the <table> element in HTML.

Abstract Role

  • StructureRepresents a non-interactive part of a page that organizes content into coherent units.

Content Categories

  • Flow ContentAn element that structures and organizes the body of a web document.

Allowed Descendants

Specific Guidance

Only row and rowgroup roles allowed.

Usage

Allowed HTML elements

Implicit semantics

These elements have the role semantics by default, without needing to set the role attribute. Reach for elements with native semantics first when choosing how to implement a role in your content.

  • table

Explicitly allowed

  • None

Elements that can have any role

  • abbr[role=table]
  • address[role=table]
  • b[role=table]
  • blockquote[role=table]
  • canvas[role=table]
  • cite[role=table]
  • code[role=table]
  • custom-element[role=table]
  • data[role=table]
  • del[role=table]
  • dfn[role=table]
  • div[role=table]
  • em[role=table]
  • figure[role=table]
  • i[role=table]
  • ins[role=table]
  • kbd[role=table]
  • mark[role=table]
  • output[role=table]
  • p[role=table]
  • pre[role=table]
  • q[role=table]
  • samp[role=table]
  • small[role=table]
  • span[role=table]
  • tbody[role=table]
  • tfoot[role=table]
  • thead[role=table]
  • time[role=table]
  • u[role=table]
  • var[role=table]