# Understanding Meaningful Sequence

## In brief

Goal
  The order of content can be understood by more people.
What to do
  Use code to preserve meaningful content order.
Why it's important
  Assistive technology can present content to users in the proper order.

## Intent of Meaningful Sequence

The intent of this Success Criterion is to enable a user agent to provide an alternative presentation of content while preserving the reading order needed to understand the meaning. It is important that it be possible to programmatically determine at least one sequence of the content that makes sense. Content that does not meet this Success Criterion may confuse or disorient users when assistive technology reads the content in the wrong order, or when alternate style sheets or other formatting changes are applied.

A sequence is meaningful if the order of content in the sequence cannot be changed without affecting its meaning. For example, if a page contains two independent articles, the relative order of the articles may not affect their meaning, as long as they are not interleaved. In such a situation, the articles themselves may have meaningful sequence, but the container that contains the articles may not have a meaningful sequence.

The semantics of some elements define whether or not their content is a meaningful sequence. For instance, in HTML, text is always a meaningful sequence. Tables and ordered lists are meaningful sequences, but unordered lists are not.

The order of content in a sequence is not always meaningful. For example, the relative order of the main section of a Web page and a navigation section does not affect their meaning. They could occur in either order in the programmatically determined reading sequence. As another example, a magazine article contains several callout sidebars. The order of the article and the sidebars does not affect their meaning. In these cases there are a number of different reading orders for a Web page that can satisfy the Success Criterion.

For clarity:

- Providing a particular linear order is only required where it affects meaning.
- There may be more than one order that is "correct" (according to the WCAG 2.0 definition).
- Only one correct order needs to be provided.

## Benefits of Meaningful Sequence

- This Success Criterion may help people who rely on assistive technologies that read content aloud. The meaning evident in the sequencing of the information in the default presentation will be the same when the content is presented in spoken form.

## Examples of Meaningful Sequence

- Example 1: In a multi-column document, the linear presentation of the content flows from the top of a column to the bottom of the column, then to the top of the next column.
- Example 2: CSS is used to position a navigation bar, the main story on a page, and a side story. The visual presentation of the sections does not match the programmatically determined order, but the meaning of the page does not depend on the order of the sections.

## Resources for Meaningful Sequence

## Techniques for Meaningful Sequence

### Sufficient Techniques for Meaningful Sequence

- Ordering the content in a meaningful sequence for all the content in the Web page

- Marking sequences in the content as meaningful using one of the following techniques AND Ordering the content in a meaningful sequence for those sequences

  - Using a Unicode right-to-left mark (RLM) or left-to-right mark (LRM) to mix text direction inline
  - Using the dir attribute on an inline element to resolve problems with nested directional runs
  - Positioning content based on structural markup
  - Using CSS letter-spacing to control spacing within a word
- Making the DOM order match the visual order

### Additional Techniques (Advisory) for Meaningful Sequence

### Failures for Meaningful Sequence

- Failure due to using white space characters to format tables in text content
- Failure due to using white space characters to create multiple columns in text content
- Failure due to using white space characters to control spacing within a word
- Failure due to changing the meaning of content by positioning information with HTML layout tables
- Failure due to changing the meaning of content by positioning information with CSS