Do not use structural markup for visual effects
F43 is a documented failure under the info and relationships rule, and it is F2 read backward. F2 is styling standing in for structure. F43 is structure standing in for styling. A blockquote used to indent a paragraph nobody is quoting. A heading level picked because it produced the right size. Both publish a relationship that does not exist. Two boundaries are worth knowing. Layout tables are explicitly outside this failure, as long as they carry no header cells and no caption, and that is the line between F43 and F46. And a presentation role can cure it, by suppressing the element's native semantics so they never reach the accessibility tree. Used on content that really is structural, the same attribute becomes its own separate failure, so it is a tool with two ends.
How we find it in an audit
The published test is per element and it is short. Is the element's semantic meaning exposed to assistive technology, and is it appropriate for what the element contains. We work through the heading outline first, since a heading level chosen for size is the common case and shows up as an outline that skips or repeats for no reason. Then quoted regions, lists and tables. Automated tools can find skipped heading levels and single-item lists. Whether a blockquote is a quotation is reading.
How affected users experience it
A screen reader announces structure as it reads. Hearing "blockquote" before an indented note tells the listener somebody is being quoted, which is false, and it changes how they take the sentence. A heading announces itself as a heading and joins the headings list, so a page with six size-driven headings has a table of contents nobody wrote, listing sections that do not exist. The user navigates to one and finds a sentence.
Passes vs. fails
Passes
<p class="indented">Note, all prices include tax.</p>
<p class="callout">Free shipping over $50</p>Fails
<blockquote>Note, all prices include tax.</blockquote>
<!-- Nobody is being quoted. The author wanted an indent. -->
<h4>Free shipping over $50</h4>
<!-- Not a heading. The author wanted small bold text. -->How this gets tested
The W3C publishes test rules that define what a checker looks for here.
- ARIA attribute is defined in WAI-ARIAA tool can check this
- ARIA state or property has valid valueA tool can check this
- Element with role attribute has required states and propertiesA tool can check this
- Form field has non-empty accessible nameA tool can check this
- Headers attribute specified on a cell refers to cells in the same table elementA tool can check this
- Role attribute has valid valueA tool can check this
- ARIA global properties not used where prohibitedA tool can check this
- ARIA required context roleA tool can check this
- ARIA required owned elementsA tool can check this
- ARIA state or property is permittedA tool can check this
- Table header cell has assigned cellsA tool can check this
The other techniques filed under this rule
52 guides on this site are filed under 1.3.1 Info and Relationships. W3C documents this one as a failure of that rule, so it describes a way the rule gets broken rather than a way to pass it.
- ARIA11sufficientAdd landmarks so users can skip around
- ARIA12sufficientUse role=heading when h1-h6 is impossible
- ARIA13sufficientName repeated landmarks so they are distinguishable
- ARIA16sufficientName controls from visible text with aria-labelledby
- ARIA17sufficientGroup related form fields with ARIA roles
- ARIA20sufficientMark leftover page areas with role=region
This guide is our interpretation of W3C technique F43: Failure of Success Criterion 1.3.1 due to using structural markup in a way that does not represent relationships in the content. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.