Alt Text for Tables Shown as Images: 12 Examples
By AutoBoost Team · 2026-10-29 · 7 min read
Not one of the 12 table images had an alt text that gave a single figure, and only 2 said what the table contained, both from software help pages. On 29 October 2026 we fetched the HTML of pages on 62 sites, looking for tables shown as images: spreadsheet screenshots, data tables and price lists. 31 sites loaded. The other 31 blocked us, returned an error or did not respond, so we skipped them. This guide uses 12 table images from 8 of the 31 that loaded. We opened each image to check it really was a table or a price list. Every alt text is quoted as it appears in the HTML, with the page it came from.
Key takeaways
- Only 2 of the 12 tables had alt text that tells you what is in the table, at 134 and 149 characters.
- 6 of the 12 had a clear fault. 5 of those 6 said almost nothing about the table: "Example #1", "result", a style name or no alt attribute at all.
- The best ones named the columns and what the rows hold, without reading out the cells.
- Every alt text under 60 characters was either fine at best or a fault. Both good ones ran past 130.
Twelve table images
| Site | Alt text | Characters | Verdict |
|---|---|---|---|
| GitHub Docs, organizing information with tables | Screenshot of a GitHub Markdown table with two columns of differing width. Rows list the commands "git status" and "git diff" and their descriptions. | 149 | Good |
| Microsoft Learn, Power BI table visualizations | Screenshot of a table visualization in Power BI displaying five measures for Category items, including average prices and sales goals. | 134 | Good |
| Google Docs Editors Help, table charts | Table chart showing revenue and net income | 42 | Fine: names the columns, not the trend |
| Ablebits, Excel pivot table tutorial | The source data for a summary table | 35 | Fine: says what it is, not what is in it |
| Ablebits, VLOOKUP in Excel | Pulling the prices from the lookup table into the main table | 60 | Fine: says the purpose, not the content |
| Exceljet, SUMIFS function | SUMIFS function summary table example | 37 | Fine: names the example, not the columns |
| EDUCBA, pivot table in Excel | Example #1 | 10 | Fault: a label, not a description |
| EDUCBA, pivot table in Excel | result | 6 | Fault: one word, on a pivot table of counts |
| EDUCBA, pivot table in Excel | Pivot Table in Excel 1 | 22 | Fault: numbered label, and the image is a plain data table, not a pivot table |
| SQL Shack, SQL JOIN | Missing (no alt attribute; the file is c-users-boksi-appdata-local-temp-snaghtml4b97b61-.png) | 0 | Fault: missing |
| Canva, price list templates | Beige Minimalist Beauty Studio Price List | 42 | Fault: describes the style, none of the prices |
| Canva, price list templates | White And Gray Minimalist Price List | 36 | Fault: describes the colours, none of the prices |
A few notes on the table. The EDUCBA page uses the same pattern for dozens of images: short labels such as "Example #1", "Example #2" and "result". The SQL Shack image is a screenshot of a query results grid. The Canva images are price lists for a beauty salon and a barber, shown as pictures, so the prices are only in the image. One Canva alt text ends with a space. Another Canva price list on the same page has almost the same alt text without the space, so two different images are nearly indistinguishable to a screen reader.
Labels, step counters and style names
Counted from the table, 6 of the 12 had a fault.
- Label or one word: 2. "Example #1" and "result" on EDUCBA. Both sit on tables full of data, and a listener hears a number and a word.
- Wrong or numbered name: 1. "Pivot Table in Excel 1" names the wrong thing. The picture is a plain data table and the "1" is a step counter.
- Missing alt attribute: 1. SQL Shack. A screen reader may read the file name instead.
- Style instead of content: 2. Both Canva price lists. The alt text gives the colours and the mood and nothing about what the services cost.
The other 6 were good or fine. Nothing we found was keyword stuffed, and none said "image of". The faults on table images were not too much text but too little, and all four faults on the EDUCBA and SQL Shack pages came from the same habit: a short label that names the step, not the table.
The 4 "fine" ones are worth a look too. Each says what the table is for, such as a lookup or a summary, but none says what columns it has. That is the one extra clause that would lift them.
Say it is a table, how big it is and what a row holds
The two good examples came from GitHub and Microsoft, and they share a shape.
- They say it is a table, and what kind. "A GitHub Markdown table", "a table visualization in Power BI". The listener knows to expect rows and columns.
- They say how big it is. "Two columns", "five measures". That is the shape of the table in a few words.
- They name what the rows hold. "Rows list the commands git status and git diff." "Measures for Category items." You learn what one row is.
- They name the columns or measures that matter. "Average prices and sales goals" tells you what the numbers are.
They also leave things out. Neither reads out a figure, because nobody wants a whole table spoken in alt text. They skip colours, shading and borders, so the alternate-row shading on the GitHub image goes unmentioned. And they avoid file names and step labels such as "Example #1".
The weak spot in both is the opening "Screenshot of". Screen readers already say "image" or "graphic", so those first two words cost 14 characters and add nothing.
If the reader needs the numbers, the numbers should be real text on the page. A table that matters is better as a real table than a picture of one. Where you must use an image, put the figures in the text next to it and keep the alt text short.
A price list follows the same rule. A list of services and prices that only exists in an image cannot be read by search engines or screen readers, and alt text cannot carry a whole price list. Put the prices in the page text, and let the alt text say what the image is, for example the service names it covers.
Why 100 to 150 characters suits a table
From the 11 examples that had text: the 3 shortest, from 6 to 22 characters, were all faults, being labels. The four fine ones ran from 35 to 60 characters and name the table and give its purpose. The two good ones ran 134 and 149 characters, which is one or two sentences, one to say what it is and one to say what is in it.
A working rule from this sample: for a table shown as an image, aim for about 100 to 150 characters. Say it is a table, how many columns, and what a row is. Then stop. If it takes more than two sentences, the table should be on the page as text.
Tip: put the numbers in the text
Tables pasted into posts as screenshots usually arrive in the media library under whatever name the screenshot tool gave the file, with no alt text at all. That is the same as the missing and label faults above. Before you approve a draft for a table, check that it says it is a table, gives the columns or measures and what a row holds, and leaves out colours and cell values. Neighbouring image types are covered in our guides to chart alt text, infographic alt text and diagram alt text. The main guide to bulk alt text shows the whole process.
The free AutoBoost SEO plugin links your WordPress site to the AutoBoost SEO app. The app writes missing alt text for the images in your posts in bulk, and each suggestion is yours to approve before it saves to the post and the media library.