What the standard says
Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text.
Why it matters
Screen reader users navigate by heading and landmark. If your headings are styled `div`s, that navigation does not exist and the page becomes one long paragraph.
What a failure looks like
- fails`<div class="h2">` instead of `<h2>`.
- failsA layout table with no `<th>`, or a data table with no header cells.
- failsRelated radio buttons not wrapped in a `<fieldset>` with a `<legend>`.
- failsA visual list built from `<br>` tags.
How to fix it
- doUse the element that means what you mean, then style it. Semantics first, CSS second.
- doGive data tables `<th scope="col">` or `scope="row"`.
- doGroup related form controls in `<fieldset>` and name the group in `<legend>`.
- doAdd landmarks: `<main>`, `<nav>`, `<header>`, `<footer>`.
How A11ySignal checks it
12 automated checks run against this criterion on every scan.
criticalaria-hidden-bodyaria-hidden="true" must not be present on the document body
criticalaria-required-childrenCertain ARIA roles must contain particular children
criticalaria-required-parentCertain ARIA roles must be contained by particular parents
criticaltd-has-headerNon-empty <td> elements in larger <table> must have an associated table header
seriousdefinition-list<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements
seriousdlitem<dt> and <dd> elements must be contained by a <dl>
seriouslistitem<li> elements must be contained in a <ul> or <ol>
seriousp-as-headingStyled <p> elements must not be used as headings
serioustable-fake-captionData or header cells must not be used to give caption to a data table.
serioustd-headers-attrTable cell headers attributes must refer to other <th> elements in the same table
seriousth-has-data-cellsTable headers in a data table must refer to data cells
What a tool cannot tell you
Automation catches missing table headers and empty headings. Whether your heading levels describe the actual outline still needs reading.