Tables should be used only for data or information that requires organization with rows and columns, not for layout or lists. Tables should be kept simple such as those with a single row of simple yet meaningful column headings and optionally a single first column of meaningful row headings. Complex tables should be restructured or broken into simpler tables (examples below). A heading or title should appear before the table. Hidden summaries or descriptions intended for screen reader users should be avoided by being provided in the main text for everyone. The takeaway message of the author should appear in the text accompanying the table for the benefit of everyone. Cells should all contain data (e.g., 0 or NA or "blank") rather than simply being left empty and there should be no merged or split cells. Details for proper table accessibility in different document types are available in the tutorial for the document type, e.g., Microsoft Word, HTML
Understanding rather than elegance or concise display should be the goal in creating tables of row and column information. This works for the benefit of everyone and not just people with cognitive difficulties or those using assistive technologies such as a screen reader.
Use tables to present multifaceted data, do not use them for layout or lists. Data tables are used to organize data with a logical relationship in grids. If similar data is being conveyed about multiple items a table is appropriate. For example, information about the top speed, fuel efficiency and horsepower of several brands of cars would be in a table.
Tables are an effective way of presenting data. You should consider using tables when:
Tables should not be used for:
Tables should have an identifying title or caption associated with but outside of the table data itself. In general, the best place is just before the table, so that a screen reader identifies the table before going into the details.
Text in the body of the document should tell what the author desires for the end user to understand from the table if it is not merely a presentation of data. If the structure or use of a table is complex enough that it needs an explanation, it likely is not very accessible and should be simplified. We do not recommend the use of visually hidden description/summary sections, such as alt text, except as needed to support specific assistive technologies as specified in the tutorials for specific document types, e.g., Microsoft Word, HTML.
Do not leave blank cells for either data or headings. If appropriate values are NA or n/a or 0 or "left blank" use them to help prevent assistive technology users from getting lost.
Column/Row headings indicate the organization of the table, read by screen readers to help users understand the context of the information they are hearing. Without a column or row heading, a screen reader user may hear "one hundred twelve" for "112" and not know if it is the top speed or the horsepower of a vehicle. Column Headings should be as simple and meaningful as possible to their intended/expected audience. The first cell in each row should be a meaningful identifier of the row's content, not a row number.
Column and Row Spans (see "Cars" in Table 2) should not be used for either headers or data. It is better for assistive technology users if the column heading or data is repeated. If such spans seem like they are needed, you probably have a complex table.
Tables can be classified as simple or complex. Simple tables are the easiest for assistive technology to interpret and generally have 1 header for each column, 1 header for each row or both row and column headers. Only simple tables are recommended for proper understanding and accessibility by all.
Car | 0-60 MPH Time (Seconds) | Fuel Efficiency (MPG) | Horsepower |
---|---|---|---|
1986 Yugo | 16.8 | 27 | 54 |
2008 VW Rabbit | 8.0 | 29 | 168 |
1999 Plymouth Neon | 10.2 | 24 | 114 |
Every table should have at least column or row headings, many have both such as Table 1 where the headings have been given distinctive styling on the vertical column and horizontal row that begin with the top left cell containing "Car." When read by a screen reader, the column heading, if present, will normally be re-read each time the user switches columns. Likewise, a row heading, if present, will be re-read each time the users switches rows. (Audio File: NVDA screen reader reading Table 1.)
Complex tables are not recommended. Several common types of complexity will be discussed below and on the Table Techniques to Avoid page along with suggestions on simplification.
Multi-cell headings (also known as column and row spans) whether done by joining cells horizontally (as in the next example) or vertically (on the Table Techniques to Avoid page) should not be used. Generally it is best to break the table into simple tables.
Year Make Model | 0-60 MPH Time (Seconds) | Fuel Efficiency (MPG) |
---|---|---|
Cars | ||
1986 Yugo | 16.8 | 27 |
2008 VW Rabbit | 8.0 | 29 |
1999 Plymouth Neon | 10.2 | 24 |
SUVs | ||
2011 Jeep Compass | 11.5 | 32 |
2010 Cadillac Escalade | 6.7 | 12 |
Most complex tables can be split into multiple tables to make them simple. For instance, Table 2 could be split to display in two simple tables, one for cars (Table 3) and one for SUVs then no multi-cell subheadings are needed.
Car | 0-60 MPH Time (Seconds) | Fuel Efficiency (MPG) |
---|---|---|
1986 Yugo | 16.8 | 27 |
2008 VW Rabbit | 8.0 | 29 |
1999 Plymouth Neon | 10.2 | 24 |
Examples of Table Techniques to Avoid page