When preparing a spreadsheet for distribution, it is good to think of it as a standalone website rather than a database.
Key tasks
- Improve legibility
- Increase padding
- Set appropriate left/right/center alignments
- Visually style column and row headers, ideally with white text on a dark background.
- Simplify
- Summarize where possible. This may include adding a separate "cover" sheet with simplified information, or utilizing charts, data functions and pivot tables. Microsoft provides a formula sampler file that may be helpful.
- Hide or remove columns with extraneous information.
- Provide filters where helpful.
- Check visuals
- Select colors with good contrast.
- Ensure charts do not communicate using color alone.
- Add titles and axis titles to charts where relevant.
- Add alt text to charts.
- Make the spreadsheet navigable for screen reader users, and never remove the ability to select cells.
Screen reader compatibility
The ideal screen reader experience
- Select a sheet from the workbook by name
- Enter the sheet and hear a title for the data in the sheet in cell A1
- Move down to cell A2 and hear that there is a named region "table" of information in this sheet
- Explore defined column and row headers
- Explore data, labeled by the headings
- Assume once blank cells are encountered that no more information is to be found on this sheet.
A | B | C | |
1 | Feet per animal (sheet title) | ||
2 | Animal (table header) | Feet | |
---|---|---|---|
3 | Dog | 4 | |
4 | Bird | 2 | |
5 | end of table (message after last row) | ||
6 |
Creating this structure
- Lay out the data in a manner the screen reader can parse:
- Have one "table" per sheet.
- Keep the cell structure clean. Avoid using merged cells or blank "spacer" rows and columns. Use padding and defined sizes to create visual gaps.
- Rather than leaving cells with no value blank, mark them with "n/a" or the equivalent, so the screen reader user does not think they have reached the end of the table.
- Label everything:
- Choose a meaningful file name
- Choose meaningful sheet names.
- Place a descriptive title for each sheet in the A1 Cell, even if this is invisible behind a chart.
- Add alt text to all visuals (right-click chart outer area, select "edit alt text").
- Create "tables" with headers:
- Select the headers and data following the descriptive title for the sheet that was placed in cell A1.
- Select Formulas > Define Name.
- Assign a name to the table, using underscores or camelCase to define words.
- Mark whether the table has a header row, column or both.
- If possible, write "end of table" in the cell following the last row. This can be white-on-white text if you prefer it be invisible to sighted readers.
- If you enable "Protect Sheet" security functions, never disable "select locked cells" or "select unlocked cells." Screen readers must select cells to read them!
Recommended reference material: