accessibility
Reading order
also called meaningful sequence (wcag), DOM order (community), source order (community), visual order mismatch (community)
The order content is exposed in the DOM, which drives both speech output and tab order, and which visual reordering can silently contradict.
Success criterion 1.3.2 asks for one thing: when the sequence content is presented in affects its meaning, that sequence has to be programmatically determinable. In practice that sequence is the DOM, because the DOM is what a screen reader walks, what the browser builds the tab sequence from, and what a reader gets when styles fail to load or a page is run through reader mode. Everything visual sits on top of it. The order the eye reads is a rendering of the source, and CSS is free to render it in a different order entirely.
That freedom is where the failure comes from, and it is almost always accidental. Flexbox
order and row-reverse, grid line placement, grid-auto-flow: dense, and absolute
positioning all move boxes without moving a single node, so a card promoted to the front
of a row visually stays wherever it was in the markup. Nothing on screen says so. Speech
still reaches it in its old position, Tab still visits it in its old position, and a
sighted keyboard user watches the focus ring jump backwards across a row that looks
perfectly ordered. The CSS working group’s own note on order says it is for visual
reordering only and that it must not be used to reorder content in a way that changes
meaning, which is a specification quietly documenting the mistake people make with it. The
reading-flow property is the standards answer arriving now: it lets a flex or grid
container declare that focus should follow the visual arrangement rather than the source,
which fixes focus order without pretending the DOM changed.
The two orders are related but not the same question, and it is worth keeping them apart in review. Reading order is what the content says and in what sequence; focus order is which controls the keyboard reaches and in what sequence. Positive tabindex is the sibling failure on the focus side, breaking the second while leaving the first intact, and it fails 2.4.3 rather than 1.3.2. A page can also break both at once, which is what a visually reordered form with a hand-tuned tabindex usually turns out to be.
The test is boring and reliable. Turn the stylesheet off, or read the page in the accessibility tree, and see whether the content still tells its story in order. Tab through it and watch whether the ring ever moves backwards or sideways in a way the layout does not explain. When the visual arrangement genuinely has to differ, the fix is to reorder the source and let CSS place it, not to reorder the pixels and hope nobody arrives through the other door.
Which word?
| If you want | say |
|---|---|
| the visual order and the source order disagree | reading order |
| the path Tab takes through a whole page | focus order |
| a visual reorder has left tab order zigzagging | reading flow |
Related
See also: Logical properties · Content choreography · Masonry