Published: 21 July 2024

Excel Accessibility

I tend to get two assumptions about Excel. The first is that it is automatically accessible because all you do is put data in cells, so what's to go wrong? The second is that Excel is not at all accessible and that we should either avoid it or not even worry about accessibility.

Neither is true. Excel, like most other applications, can be used to create accessible content but you have to know what you're doing. In this day and age, I really think we should all know how to do this, which is why I write these blogs and run my website.

Navigation

Unlike Word, where you start at the top and read down, Excel has to be navigated. Let's think about this for a moment. You have to navigate around the cells in a worksheet. If there are several worksheets in a workbook, you have to navigate between them. For those that have good eyesight and use a mouse, that's fairly simple, but how do we make it easier for those that can't see well and those that can't use a mouse?

What do I need to do?

To make your Excel spreadsheet accessible to navigate, you need to do three things:

Why does that matter?

Understanding what is in a workbook and being able to get from worksheet to worksheet is important. One of the biggest challenges in Excel, is that it is very visual. Have you ever thought about how a blind person would navigate it? A screen reader will read out information but as the content creator, you have to set up that information first.

How do I do that?

For this part, I'm going to give instructions about what you need to do, and then some additional help for people who don't use a mouse.

  1. Rename each worksheet, giving them unique names that are meaningful and describe what the user will find there.
    Screenshot of renamed sheets: index, instructions, manual tests, summary of results, and action plan.
  2. Make the first worksheet an Index page. Use cell A1 of this sheet to explain what the whole workbook is about. Provide links to each of the other worksheets.
    Screenshot of index sheet with information in cell A1 and four links to each of the other sheets.
  3. Use cell A1 on each worksheet to explain what that sheet is about and what it contains. You can also give tips for navigation and inform the user about the location of tables and graphs.
    Screenshot of cell A1, explaining what is on the sheet and how to interact with the content.
  4. Wrap the text in any cell and change the column width to make it easier to read. Don't allow text to spill into the next cell and don't merge cells.

Navigation instructions for keyboard navigators

Here are some keyboard commands for moving around your Excel workbook.

Rename worksheet
Press Alt, H, O, R and then type your new name.
Add a new worksheet
Press Alt, H, I, S and then rename your new sheet.
Move a worksheet
Press Alt, H, O, M and then use the arrow keys to choose where you want to move it to. Press Tab and then Enter.
Create an internal link
Press Alt, N, I, 2, I to open the Hyperlink dialogue box. Press Ctrl + Tab 4 times to select Place in this document. Press Tab and then use the arrow keys to select the sheet you want to link to. Press Tab to move to Text to display and edit this to make it meaningful. Tab to the OK button and press Enter.
Wrap text in a cell
Press Alt, H, O, E and then use the left and right arrow keys to change tabs. Text wrapping is in the Alignment tab. Press Tab to move through the options, until you get to Wrap Text and press Space to select it.
Change column width
Press Alt, H, O, W to open the Column Width dialogue box. Type in a new value and press Enter.

Navigation instructions for screen reader users

Screen reader users should use the keyboard commands above. You may prefer to press Alt to get into the menus and then use your arrow keys to select, as this will make your screen reader read out each menu name, so you don't have to memorise the shortcuts.

Navigation instructions for voice recognition users

Voice recognition users can use two different types of command:

Tables

Excel is formatted in rows and columns, with data in cells. So that makes it a table, right? Wrong! Putting the data in the cells makes it look like a table but a screen reader doesn't read it as a table.

What do I need to do?

When you've input your data and you've got your headers in place, you need to turn it into a semantic table. You need to:

You should generally have only one table on a worksheet and avoid splitting or merging cells. A simple table is more accessible for most people.

Why does that matter?

The nature of a table is that it is visual. When a blind person accesses a table, they need to be able to understand the data in a non-visual way. They generally navigate by moving around the cells and the screen reader will announce changes in header information, as well as the data in the cell.

There is another advantage of creating a proper table, which benefits everyone. When you scroll down the table and the headers go off the screen, the column letters will be replaced by the header information. This makes it much easier to navigate for everyone.

Screenshot of table with column headers replacing the letters across the top.

How do I do that?

Table instructions for mouse users

  1. Select the cells that will form the table, including any headers.
  2. Click on the Insert menu.
  3. Select Table from the ribbon.
  4. Check that the identified range of cells is correct.
  5. Check the box that says My table has headers.
  6. Click OK.
  7. In the Table Design menu, click in the Table Name field and give your table a one-word name.

Table instructions for keyboard navigators

  1. To select the cells in your table, hold down Shift and use the arrow keys until all cells are selected.
  2. Press Alt followed by N to open the Insert menu.
  3. Press T to open the Create Table dialogue box.
  4. Press Tab followed by Space to check the box for My table has headers.
  5. Press Tab to move to OK and then Enter to close the dialogue box.
  6. Press Alt, J, T, A to move to the Table Name field.
  7. Give your table a one-word name.

Table instructions for screen reader users

  1. Select the data for your table by pressing Shift + the arrow keys until all data is selected.
  2. Press Alt, N, T to open the Create Table dialogue box.
  3. Check that the My table has headers checkbox is checked.
  4. Press Tab to get to the OK button and then Enter.
  5. Press Alt, J, T, A to go to the Table Design menu and enter the Table Name field.
  6. Type in a name for the table and press Enter.

Table instructions for voice recognition users

  1. Select the data for your table. You should be able to say, "Select cell A3 through C8," or similar but if that doesn't work, you could try, "Press Shift down x times," and "Press shift right x times."
  2. Say, "Click insert, click table," to open the Create Table dialogue box.
  3. Check that the My table has headers checkbox is checked.
  4. Say, "Click OK," to close it and create your table. You will now be in the Table Design menu.
  5. Say, "Click Table Name," to move into the Table Name field.
  6. Dictate your table name. If your voice recognition software automatically inserts a space after a word, you will need to delete the space. You could say, "Press backspace."
  7. Say, "Press Enter," to leave the field and return to your spreadsheet.

Charts and Graphs

Charts and graphs are helpful for many people in understanding data, seeing patterns and being able to identify trends. However, they are highly visual and need some work to ensure that everyone can access them.

What do I need to do?

When you create a chart or graph, you need to:

Why does that matter?

Much of our accessibility work so far, has focussed on blind people and screen readers. For charts and graphs though, most blind people will work with the raw data, which is why it's important to include it.

You do need to give your graph alt text, but it is pretty pointless adding it in the alt text box like you normally would. Graphs don't sit in a cell. They hover above the worksheet in a floating layer, which screen readers don't read unless the user deliberately navigates there. So you should put the alt text in a cell, which will be automatically read out. It's best to put it in a cell behind the graph. That way, sighted users won't see it and blind people will receive it.

Most of the accessibility work with graphs is to help sighted people. Think about people with low vision, who use screen magnification and colour enhancements. Also think about people who cannot see colour accurately or even at all. How will they perceive the graph or chart? You need to provide meaningful text labels to help orient users and ensure that any visual information does not need accurate colour perception to understand it.

How do I do that?

For this section, I'm going to break with the previous format and we'll look at the different things you need to do and how you can get to them using mouse or keyboard. For screen reader users and voice recognition users, you can use the keyboard method as well as any normal commands you use.

Chart Elements

In the Chart Elements options, you can select which elements you want your chart or graph to have.

Screenshot of graph with chart elements list open. Axes, axis titles, chart title, data labels and gridlines have been selected.

Mouse users can click on the plus icon next to the chart to access the Chart Elements. For keyboard access, go to the Chart Design menu and Add Chart Element. This is Alt, J C, A, and then select the letter of the element you want to select or deselect.

Screenshot of keyboard chart elements list open in the ribbon.

You should select the following chart elements:

Style and Colour

You should select a style that is clear and easy to read.

There are two really important things to consider regarding colour. The first is that you should not use colour as the only means of giving information. This means you should not use a legend or key, with different coloured graph elements. Imagine printing your graph on a black and white printer. Would you still be able to make sense of it? If not, you need to rethink your use of colour.

The second thing to consider is colour contrast. The minimum colour contrast between the graph and the background is 3:1. The contrast between colours that touch each other should also be minimum 3:1. You can check the colour contrast using the WebAIM contrast checker Opens in new window.

Mouse users can change the styles and colours by clicking on the paintbrush icon next to the graph, the second of the three icons. Keyboard users will need to go to the Chart Design menu and Change Colours.

Summary

We have covered an awful lot of information in this post. Excel is not automatically accessible but, with a little work, it can be made accessible. You need to:

Clicky