Accessible Excel spreadsheets
What this guide is for
This guide explains how to create accessible spreadsheets in Excel.
You should use an Excel spreadsheet to publish data on our websites if:
- There is a lot of data, and being able to use Excel tools like sorting and filters would help users understand it; and
- You have a good business case for publishing the data. For example:
- We are legally required or have a statutory duty to publish the data
- You have evidence of high customer demand for the data
When not to use Excel
You should not use spreadsheets to publish small amounts of data, or content that includes a lot of text. This is because:
- Excel is designed for organising data and numbers. Word processing applications, like Microsoft Word, have much better tools for creating effective reports, plans and other text-based documents. You can use Word to present data in tables and charts alongside text.
- Some Excel content, like text boxes and embedded content, can be difficult for screen reader users to understand
- Excel files can display differently depending on the software a website user is using to view it. This can make the information in them difficult for people to understand. PDFs are better because they always display the same.
- Using Excel to create an accessible PDF can be difficult and time consuming. You will need to edit the PDF using Adobe Acrobat Pro to make it accessible.
Instead, use a different option that makes it easier to create effective and accessible content:
- Web page content
- Use Word to create an accessible PDF – use our How to make Word documents accessible guide to help you
Responsibility for making web content accessible
Check who is responsible for making web content accessible.
How NCC staff can get help to publish accessible content.
Excel structure, layout and format
Your spreadsheet must have:
- A logical and clear structure and layout
- Correct formatting
This helps people understand and navigate your spreadsheet.
Spreadsheet structure
To structure your spreadsheet correctly:
- Worksheets must have a clear and descriptive name, to help users understand what information they contain. If your spreadsheet has more than one sheet, make sure the sheets are in a logical order and all their names are unique. Microsoft Support explain how to rename a worksheet.
- Delete any empty sheets - Microsoft Support explain how to insert or delete a worksheet
- If your spreadsheet only has one sheet, we recommend you use cell A1 to include any information users need to know that isn't included in the document title or worksheet name. For example, a summary of the information the spreadsheet shows. Download an example Excel document with a single sheet (Excel doc) [22KB].
- If your spreadsheet has multiple sheets, we recommend you add a 'Contents' sheet. A 'Contents' sheet should:
- Be the first sheet in the spreadsheet
- Have a descriptive and unique sheet name eg 'Contents'
- Have the word 'Contents' in cell A1
- Have a summary of the information the spreadsheet contains, including the number of sheets, in cell A2
- Have a list of sheet names and links in column A, starting in cell A3. Read our links guidance for how to create internal links in a spreadsheet.
Example of a 'Contents' sheet:
The Office for National Statistics' (ONS) have more advice on structuring spreadsheets and worksheets.
Worksheet layout
To make sure your worksheet layout is correct:
- Position all your content against the left-hand side of the sheet (column A). This means that any text, tables or images in your sheet should start in column A. This reduces the need for users to scroll horizontally and makes content easier to find.
- If a user needs any information to understand a table or image, put this in column A in the row directly above the table or image (there should be no empty rows in between). This includes text titles and summaries.
- Aim to only show one table or image per sheet. However, if the content is closely related - for example, a table and an image showing the same information - you can show this on the same sheet.
- Separate any tables or images by leaving one empty row (only) between them
The ONS have more advice on how to layout worksheets with multiple tables.
Formatting
To format your spreadsheet correctly:
- Use a clear and simple font. We recommend making all text at least size 12.
- Make sure all the content in your spreadsheet is visible. To do this:
- You might need to change the column size (Microsoft Support website) or wrap the text (Microsoft Support website)
- Avoid hiding content, including sheets, rows or columns
- Don't use text formatting like capitalisation, strikethrough, bold, italics or symbols as the only way to convey meaning. If you use them, make sure you explain the meaning in text too.
- Avoid freezing rows and columns, as this can make it hard for users to navigate your spreadsheet using a keyboard. Bear in mind that table headers provide a similar function that is accessible - read our tables guidance for more information. If you do decide to freeze rows or columns, you must provide information about what is frozen and how to unfreeze them. Add this to column A of your spreadsheet.
- If you include a header and a footer, ensure the information in them is also available in the main content of the spreadsheet. This is because screen readers often don't read out header and footer content.
- Avoid including embedded files or media, shapes and text boxes. This is because they are often not accessible for users using a keyboard to navigate or a screen reader.
Other formatting resources
- ONS' advice on using symbols and shorthand
- Microsoft Support explain how to unfreeze locked panes
Excel tables
Most spreadsheets contain data tables. You must format your tables correctly so the information they contain is accessible for as many people as possible:
- Format your data as a table. To do this, you must use the Format as Table tool (Microsoft Support website) or Insert Table tool.
- Your table must have a header row. To do this:
- Check that all the cells in the top row of your table have meaningful text that acts as a label for the cells beneath it
- Select any cell in your table, select the 'Table Design' menu, go to the 'Table Style Options' section and make sure the 'Header Row' checkbox is ticked
- Don't include merged or split cells, or use more than one header row in your table. To avoid this, you might need to break one complex table down into multiple simple tables.
- Don't include empty cells, rows or columns in your table. They can make your spreadsheet hard to navigate and confuse people. Make sure you:
- Remove any empty rows or columns - Microsoft Support explain how to change the line spacing instead
- Put text in any empty cells that explain why there is no data in it. For example, 'No data available' or 'Not applicable' - avoid using symbols to communicate this. If you use abbreviations, you must explain what they mean.
- If your spreadsheet contains multiple tables, we recommend you:
- Give them all a unique name, which includes a number. For example, 'Table 1: The amount of fruit we purchased in 2022'. Include this name in two places - the cell directly above the table and 'Table name' in the Design tab (you have to use underscores instead of spaces here).
- Place each table in a separate sheet. If you have a good reason for putting multiple tables in a sheet, arrange them vertically with one blank row between them (don't put them next to each other).
- You can include filter buttons in your table if you think it would help users navigate it, but make sure you:
- Ensure the buttons don't cover up any text
- Try to avoid saving the table with any filters applied. If you do leave filters applied, you must add a comment to the header cell saying that a filter is present and what it is.
- Make sure that any colours or Table Styles you use meet colour contrast requirements
Example of an accessible table and the 'Table Design' menu in Excel:
Colour contrast in your Excel
Using a range of colours in your spreadsheet can help some users understand the information it shows. However, it's important to make sure that using colour doesn't stop other users understanding your content.
If you use colour to convey meaning (eg in a table or chart), you must:
- Use patterns and/or text to ensure that people who find it difficult to see or differentiate between colours can still understand it
Example of a graph with patterns and accessible colour contrast:
- Provide the information in text to make sure that people who cannot see the content at all can still understand it. For example, include additional text in a table, or provide a text description for an image.
- Make sure any colour combinations you use meet colour contrast requirements. Colour contrast requirements apply to both text and informative images (rules are the same as for colour contrast in Word documents).
- Be aware that many Excel built-in features, like graph and chart colour themes, Cell Styles and Table Styles do not meet colour accessibility requirements - so check them before you use them
Example of a table that uses a Table Style with accessible colour contrast:
Using images in Excel
To make images in your spreadsheet accessible, start by deciding if they are informative or decorative:
- Informative images include information that helps people understand your spreadsheet. For example, charts, graphs, diagrams and visual instructions.
- Decorative images do not include information, they are just included to visually enhance your document. We don't recommend including decorative images in your spreadsheet because they can distract users from important information.
If an image is informative, you must provide a text description. This helps make sure people who can't see or understand the image don't miss out on the information it shows.
How to provide a text description
Usually, people add a text description to informative images on web pages or in documents by adding alt text to the image.
However, in spreadsheets, it's better to add your text description as visible text on your spreadsheet. If you do this, you do not need to add alt text to the image too.
When you add your text description, think about the clearest and simplest way to communicate all the information shown in your image. For example, this could be a bullet point list, or it could be one sentence followed by an accessible table.
The text description needs to include the name of the image it describes. Position the text description directly above or below the image it describes.
Graphs and charts
If you include a graph or chart in your spreadsheet, make sure it:
- Has a title - visible text positioned above the image
- Has a legend/key - this should explain what any colours or patterns mean
- Has axis labels - if the image has axis, they must have visible text labels
- Has data labels - visible text showing the data type and volume
- Has a text description - see the 'How to provide a text description' heading on this page
- Uses colour in an accessible way
- Is formatted as a single, flat image. To do this you might need to:
- Copy the graph/chart and paste it as an image (Microsoft Support website); or
- Save the graph/chart as an image, then insert it into your spreadsheet
Example of an accessible graph:
Links in Excel
You must check that any link text in your spreadsheet describes where the link is taking the user.
This helps users understand where a link will take them and decide whether they want to click on it. It also helps people using screen readers in particular - they might skip straight to the links rather than reading all the text in your spreadsheet. So, the link text needs to make sense out of context.
You should try to avoid:
- Linking to untrustworthy sites
- Sites where a user must pay or register to see the information
- Using images or icons as links
How to write accessible link text
If you find any inaccessible link text in your spreadsheet, you must rewrite it:
- Consider starting with an action like download, visit, how to, go to, find out, read...
- Then use either:
- The title of the web page you're linking to
- A description of the web page you're linking to
Good link text examples:
- 'How to create accessible content'
- 'Go to GOV.UK's working, jobs and pensions page'
- 'NHS heatwave guidance'
- 'What happens next when you contact us'
Bad link text examples:
- 'Click here' - it is too vague and not everyone can see where 'here' is
- Read this link' - 'this' is not descriptive, and you don't need to tell users it's a link
- 'Learn more - 'more' is not descriptive
You can include urls in your spreadsheet if they are descriptive and don't include 'https://'.
Good URL link text examples:
Bad URL link text examples:
We recommend writing email addresses out in full - like 'email@example.com' rather than 'email us'. This is because:
- Email addresses are usually short and descriptive
- This allows users to find out the email address without clicking the link. Clicking the link may open an application the user doesn't want to use
Read GOV.UK's guidance on how to write link text.
Internal links
If your spreadsheet is quite large, you might want to include internal links. These are links that take users to specific locations in your spreadsheet. It's important to make sure that your links take the user to the correct place:
- If you're linking to a sheet, make sure you link to cell A1 of that sheet
- If you're linking to a particular piece of content, like a table, make sure you link to the cell where that information starts. For example, the title of the table.
Resources
Microsoft support explain how to add links to your spreadsheet
Excel document titles and file names
Your Excel spreadsheet needs a document title and a file name.
A document title describes what your document is about to the user. It's not the same as adding a title to a cell in your spreadsheet or adding a file name when you save it. Your document title needs to be in the same language as the document's content.
The file name is the name that will appear in a folder structure such as your desktop, documents, downloads, SharePoint folder etc. Try to avoid putting punctuation in your file name, as this will need to be stripped out before publishing the document on our websites. You'll be asked to add a file name when you save your document.
Your document title and file name will often be the same. This is because they should both concisely describe what the document is about.
Good document title example: 2022 spending on fruit
Bad document title example: Fruit spreadsheet v.3 final
How to add a document title and file name
Document title
To add a document title, select 'File', then 'Info'. Under the properties heading, there is a 'Title' field. Type in your title.
Example showing where the 'Title' field is in Excel:
File name
- Microsoft Support explains how to rename a file
Checking and saving your Excel spreadsheet
Check your spreadsheet
You need to do manual and automatic checks to see how accessible your Excel spreadsheet is.
Government Digital Service (GDS) estimate that automated checks only find 40% of accessibility issues.
Manual checks
Before you publish your spreadsheet online, check:
- The structure, layout and formatting is correct and logical
- You've used tables correctly
- Colour contrast is sufficient
- Informative images have text description
- Link text makes sense by itself and you've followed the process for internal links in your spreadsheet.
- Your document title and file name are unique and descriptive
Automated checks
Microsoft Office has a built-in checker for each of its programs like Word, Excel and PowerPoint. The tool helps you check how accessible your document is and can help fix some errors, but not all. It's not a guarantee of an accessible document. You must follow all the manual checks listed above.
Microsoft Support explain how you can improve accessibility with the Accessibility Checker.
How to save your spreadsheet
Make sure you save your spreadsheet as an Excel file (eg .xslx), and not a .csv file. Csv files do not support a lot of the accessible formatting you need to apply.
If you apply protection settings to your spreadsheet or an individual sheet, make sure the settings allow users to select locked and unlocked cells, so they can navigate it using a keyboard.
We recommend making sure your spreadsheet is at 100% zoom and you position your cursor in cell A1 on the first sheet when you save it. This will help users orientate themselves when they open your spreadsheet.