Create Accessible Spreadsheets

When preparing a spreadsheet for distribution, it is good to think of it as a standalone website rather than a database.

Key tasks

  1. Improve legibility
    1. Increase padding
    2. Set appropriate left/right/center alignments 
    3. Visually style column and row headers, ideally with white text on a dark background.
  2. Simplify
    1. 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.
    2. Hide or remove columns with extraneous information.
    3. Provide filters where helpful.
  3. Check visuals
    1. Select colors with good contrast.
    2. Ensure charts do not communicate using color alone.
    3. Add titles and axis titles to charts where relevant.
    4. Add alt text to charts.
  4. Make the spreadsheet navigable for screen reader users, and never remove the ability to select cells.

    Screen reader compatibility

    The ideal screen reader experience

    1. Select a sheet from the workbook by name
    2. Enter the sheet and hear a title for the data in the sheet in cell A1
    3. Move down to cell A2 and hear that there is a named region "table" of information in this sheet
    4. Explore defined column and row headers
    5. Explore data, labeled by the headings
    6. Assume once blank cells are encountered that no more information is to be found on this sheet.
    Example Excel Sheet With an Embedded Table
      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)    

    Creating this structure

    1. Lay out the data in a manner the screen reader can parse:
      1. Have one "table" per sheet.
      2. Keep the cell structure clean. Avoid using merged cells or blank "spacer" rows and columns. Use padding and defined sizes to create visual gaps.
      3. 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.
    2. Label everything:
      1. Choose a meaningful file name
      2. Choose meaningful sheet names.
      3. Place a descriptive title for each sheet in the A1 Cell, even if this is invisible behind a chart.
      4. Add alt text to all visuals (right-click chart outer area, select "edit alt text").
    3. Create "tables" with headers:
      1. Select the headers and data following the descriptive title for the sheet that was placed in cell A1.
      2. Select Formulas > Define Name.
      3. Assign a name to the table, using underscores or camelCase to define words.
      4. Mark whether the table has a header row, column or both.
      5. 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.
    4. 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: