Skip to main content
お使いのブラウザは古いため、このサイトを正しく表示できません。Chrome、Edge、Firefox、Safari の最新版に更新してください。
Back to WCAG Database
Level AWCAG 2.0

1.3.1 Info and Relationships

Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text.

Last reviewed: September 9, 2026

Understanding 1.3.1

Sighted users infer structure (headings, lists, tables, form labels) from visual cues like bold text, indentation, or spacing. Assistive technologies like screen readers can't perceive those visual cues; they need the same structure exposed in the underlying markup (via semantic HTML or ARIA) so users can navigate and understand relationships between content, such as which label belongs to which input or which cells belong to which table header.

How to Meet It

Use native semantic HTML elements for their intended purpose: heading tags (h1-h6) for headings, ul/ol/li for lists, table with th for tabular data, and label correctly associated with form controls. Reserve ARIA (e.g., role, aria-labelledby) for cases where no native HTML element provides the needed semantics.

Code Examples

INCORRECT
<div class="heading-style">Account Settings</div>
<div>Name:</div><input type="text" id="name">
CORRECT
<h2>Account Settings</h2>
<label for="name">Name:</label><input type="text" id="name">

Frequently Asked Questions

If it looks like a heading (bold, larger font), isn't that enough?

No. Visual styling alone conveys nothing to a screen reader. Without a real heading element (or role="heading"), assistive technology users can't navigate by headings or know that the text is structurally a heading.

Do I always need ARIA to fix this?

Usually not. Most structural relationships (headings, lists, tables, form labels) are better and more reliably expressed with native HTML elements. Use ARIA only to fill gaps HTML can't cover.

Related Success Criteria

Quick Facts

  • Criterion1.3.1
  • LevelA
  • IntroducedWCAG 2.0

Automate Compliance

AccessiSight automatically scans and identifies 1.3.1 issues in your codebase.

Try Scanner Free