Do not use layout tables that read as nonsense
F49 is a documented failure under the meaningful sequence rule, and it is the other half of the layout table story. Layout tables are not prohibited. One that reads correctly when linearized conforms, so the finding is about the result rather than about the element. Linearization has a precise definition, and the precise part is what causes the damage. Content is read in source order, from the first cell of the first row to the last cell of the last row, and the complete content of each cell is read before moving on, including any table nested inside it. That nesting rule is why the old nine-column layouts are so bad. A table sitting in one cell is read out in full before the reader reaches the next cell of the outer table. Rowspan and vertical alignment do the same damage on a smaller scale, splitting a sentence across cells that get read minutes apart.
How we find it in an audit
Two ways to linearize are published and either settles it. Present the content in source order, or remove the table markup and read what is left. The second is faster by hand and it is the one we use, because a page with its tables stripped either still makes sense or obviously does not. Automated tools can find layout tables and count nesting depth, which tells you where to look first. Whether the linear order still carries the meaning is reading.
How affected users experience it
The damage is not always fragmentation. Sometimes it is inversion. The published example puts "XYZ gets you to the" in one cell and "top!" in another, arranged so the sentence reads correctly on screen and comes out as two unrelated fragments in the wrong order when linearized. A reader hears a phrase that means something else, or nothing, with no way to know the page was arranged differently for everybody else. Nested tables turn a page into an interleaved transcript of itself.
Passes vs. fails
Passes
<div class="two-columns">
<article><p>Harbor closed after the storm surge flooded the main pier.</p></article>
<article><p>New ferry route announced for the summer season, starting May.</p></article>
</div>Fails
<table><tr>
<td>Harbor closed after the storm</td>
<td>New ferry route announced for</td>
</tr><tr>
<td>surge flooded the main pier.</td>
<td>the summer season, starting May.</td>
</tr></table>The other techniques filed under this rule
12 guides on this site are filed under 1.3.2 Meaningful Sequence. 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.
- C6sufficientKeep source order meaningful when CSS repositions content
- C8sufficientSpace letters with CSS, not blank characters
- C27sufficientMatch DOM order to visual order
- G57sufficientPut content in a meaningful reading order
- H34sufficientKeep mixed-direction text reading in the right order
- H56sufficientFix nested right-to-left text with the dir attribute
This guide is our interpretation of W3C technique F49: Failure of Success Criterion 1.3.2 due to using an HTML layout table that does not make sense when linearized. 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.