Phase 9 — Tables and Lists Allowed
This gauge covers Chapter 13 after Accessible Forms.
Learning goal
Choose list and table structures from the relationships in the content, then make those relationships clear to visual and assistive-technology users.
Inherited tools
Everything allowed through ./phase8-allowed.html remains available.
New HTML
Description lists
dldtdd
Data tables
tablecaptionthead,tbody,tfoottrthtd
The inherited ul, ol, and li are now studied in depth.
New attributes
- On
ol:start,reversed - On
li:valuewhen changing an ordered-list number is meaningful - On
th:scopewithcol,row,colgroup, orrowgroup - On table cells:
colspan,rowspanfor genuinely shared cells - On a labelled
sectionoverflow wrapper:tabindex="0",aria-label, andaria-describedbyso keyboard users can reach and identify hidden columns
New CSS
border-collapsecaption-sidevertical-alignlist-style-positionlist-style-type
Learning rules
- Use
ulwhen item order does not change the meaning andolwhen sequence, rank, or count matters. - Put list items inside
li; place a nested list inside thelithat owns it. - Use
dlfor term/description, name/value, question/answer, or other directly associated groups. Do not use it merely to indent content. - Use tables for genuinely tabular data whose rows and columns form relationships. Never use a table to arrange a page.
- Give a data table a concise
captionthat identifies its purpose or subject. - Use
thfor headers andtdfor data. Do not use bold data cells as a substitute for real headers. - On simple tables, add
scope="col"to column headers andscope="row"to row headers. - Use
thead,tbody, andtfootto group rows by purpose when those groups exist; they do not replace header cells. - Keep table source order logical. CSS must not make a different visual order imply false data relationships.
- Use
colspanandrowspanonly when one cell truly spans related columns or rows. Prefer simple tables when possible. - On narrow screens, wrap a wide table in an overflow container instead of changing its elements to block boxes and destroying the tabular layout.
- Do not remove list markers unless another visible treatment still makes the grouping or sequence clear.
Not allowed
- Tables used for page layout
- Lists used only to create indentation
- Empty header cells used for spacing
- Complex multi-level table headers without a clear, testable association plan
- CSS that changes table elements to
display: block - Positive
tabindexor visual reordering that conflicts with source order - JavaScript
- Inline styles
- Any HTML tag, attribute, or CSS property not inherited or listed above
Pages
01-list-structure.html— unordered, ordered, and correctly nested lists02-description-lists.html— term/description and name/value relationships03-table-structure.html— captions, row groups, headers, rows, and data cells04-accessible-table.html— scoped headers and responsive overflow around a complete table
Rules to lean on
Rules 2, 54–59, 72–80, 88, 93, 99–101, 111–122, and 123–134.