Optimizing Spreadsheet Accessibility
The techniques covered in this article are a subset of the Excel accessibility principles and processes taught in WebAIM's online course on document accessibility.
This article will review some high-level techniques for optimizing Excel workbooks. It is important to note that none of these techniques are specifically required to meet current web accessibility guidelines. In the same regard, whether or not a technique is appropriate for a workbook must be determined on a case-by-case basis. Use your best judgement based on the information you have about a workbook's function and intended audience. If you would like to follow along as the techniques are described, please download the Optimizing Workbooks (.xlsx) example file.
Visual Space Around Text
In the context of electronic documents legibility may defined as "How easy text is to see and comprehend based on its visual presentation”. A common legibility issue in Excel workbooks is minimal spacing around text.
When the example file is opened, the "Visual Spacing" sheet should be displayed by default. This sheet shows a table with the default spacing for the columns and rows:
To see the visual impact of increasing the column widths and row heights, switch to the "Freeze Top Row" sheet in the example file:
Some users will find this visual presentation easier to process. To practice these techniques, switch back to the "Visual Spacing" sheet.
To increase the width of columns:
- Place focus on the populated columns by selecting their column labels.
- Right-click on any selected column and select "Column Width" from the drop-down menu.
- Increase the numerical value in the "Column Width" dialog box [the column width has been changed from 10 points to 20 points in the example].
- Click "OK".
To increase the height of rows:
- Select the whole sheet with the keyboard shortcut Control + A.
- Right-click on any row label and select "Row Height" from the drop-down menu.
- Increase the numerical value in the "Row Height" dialog box [the row height has been changed from 15 points to 25 points in the example].
- Click "OK".
Columns & Rows
With some spreadsheets, managing how columns and rows function, and their visibility, will provide benefits for some users. These techniques are applied at the sheet level, so the columns and rows in each sheet of a workbook must be evaluated separately.
Freezing Columns & Rows
When a sheet has populated columns and/or rows that extend beyond the visible area, a user must scroll with the keyboard or mouse to see all of the sheet's contents. In this circumstance we recommend that you use one or more of Excel's "freeze" tools.
Switch to the View tab on the Ribbon. In the fourth section from the left there are three "freeze" tools:
- Freeze Top Row
- Freeze First Column
- Freeze Panes
Freeze Top Row
The "Freeze Top Row" sheet on the example file has a table with column headers, and rows of information that extend beyond the visible area:
The column headers are labeled with generic text that corresponds to Excel's built-in labels: Column A, Column B, Column C, etc.—
Starting at the left, the data cells are labeled: A2 data, B2 data, C2 data, etc.
The same convention is used in the other sheets in this workbook.
When a user scrolls down to see the all the rows in the table, the column headers are no longer visible:
To prevent this, click "Freeze Top Row" on the View tab on the Ribbon:
Now when a users scrolls down, the column headers remain visible and the rows appear to slide under them:
Freeze First Column
The "Freeze First Column" sheet has a table with row headers, and columns of information that extend beyond the visible area:
When a user scrolls across to see more columns, the row headers are moved out of the visible area:
Return to the View tab and click "Freeze First Column":
Now the row headers remain visible as a user scrolls right:
There may be times when you want to freeze more than one column and/or row at a time. Click on the "Freeze Panes" sheet. This sheet has descriptive text—"Freeze Panes"—in the upper-left corner, which in this case is cell B1, in the first row of the sheet. The column headers are in cells B2 to Z2, in the second row of the sheet. In this example we recommend freezing the first two rows:
The first column of this sheet has been left empty to provide some visual spacing for the table. There are row headers in cells B3 to B10 in the second column of the sheet, so we would recommend also freezing the first two columns:
To freeze more than one column and/or row:
- Place focus on the first data cell (in the example file, the first data cell is located at C3 and has the text "C3 data").
- Click "Freeze Panes" on the View tab.
Now, when a user scrolls vertically or horizontally, the two columns and rows of interest remain static.
Hiding Unused Columns & Rows
By default, a new Sheet has more than sixteen thousand blank columns and over a million blank rows. The visual information created by the borders of the cells in unused columns and rows may be distracting for some users. This would include users with some cognitive or learning disabilities, which is the largest category of disability.
Open the "Unused Columns & Rows" sheet. Compare the difference between this table surrounded by empty cells—
versus that same table in the "Hidden Columns & Rows" sheet where the unused columns and rows have been hidden—
If you will not be continually adding information to a spreadsheet, consider hiding unused columns or rows as part of the optimization process. Return to the "Unused Columns & Rows" sheet.
To hide multiple unused columns:
- Select the first column to hide by clicking on it.
- Select the remaining default columns with a keyboard shortcut: Shift + Control + right arrow.
- Right-click on any highlighted column label and select "Hide" from the menu.
To hide multiple unused rows:
- Select the first row to hide by clicking on it.
- Select the remaining default rows with a keyboard shortcut: Shift + Control + down arrow.
- Right-click on any highlighted row label and select "Hide" from the menu.
If I need to unhide all rows or columns, I'll select the entire sheet by clicking where the columns and row labels meet in the top-left corner right-click—
either the columns or the rows, and select "Unhide":
Eliminating Empty Rows
Another potential issue is the presence of empty rows between elements on the same sheet. Click on the "Empty Rows" tab on the example file. On this sheet, there are two tables with generic labels—"Table 1" & "Table 2". The unused columns and the unused rows at the bottom have already been hidden. But there are six empty rows between the last row on Table 1, and the label for Table 2:
A screen reading software user encountering a series of empty rows may mistakenly assume that there is no more content on this sheet. We recommend selecting and deleting all but one row between elements on the same sheet:
Leaving one row between elements as a way to provide some visual space is common and appropriate practice.
Adding a Workbook Title
Adding a Title provides metadata describing the workbook's contents. This information is required if the workbook will be exported to PDF.
To add a Title on Windows:
- Click the File tab on the Ribbon.
- Select "Info" from the sidebar.
- Add the Title text in the "Title" field in the Properties section (for this example I'll enter the text "Optimizing Workbooks examples).
To add a Title on Mac:
- Click on File from the application menu, and select "Properties".
- Click on the "Summary" tab of the document properties dialog.
- Add in the Title text.
- Click "OK".