What is alt text for, and who reads it?
Alt text is the text in an image's alt attribute, and two very different readers depend on it. The first is a person using a screen reader, who hears it in place of the picture. The second is Google, which can't look at a photo the way you do. Whenever I run a WordPress technical audit, missing or useless alt text sits on the same list as titles, headings and broken links, because it lets both readers down at once.
Google's image guide calls alt text the most important attribute for giving an image extra metadata, and says Google uses it together with computer vision and the page's own content to understand what an image is about. The same guide names the accessibility side too: alt text helps people who can't see images, including screen reader users and people on slow connections.
So I don't treat alt text SEO and accessibility as two jobs. The sentence that tells a blind reader what a picture adds is almost always the sentence that tells Google what the picture is.
One thing alt text can't do is rescue an image Google never sees. Google says it doesn't index CSS images, so a product shot set as a section background in a page builder carries no alt text and won't turn up in image search. In Divi, that's why an image that carries meaning belongs in an image module with its own alt text.
How do you write good alt text, and what does it look like?
Good alt text is short, specific and written for the page it's on. Google's own example makes the point with a puppy. No alt at all is bad. A long run of dog words is keyword stuffing. puppy is better, and Dalmatian puppy playing fetch is best. The best one isn't clever, it's just the most accurate sentence.
W3C's tips add three habits I follow on every image. Put the most important information first. Keep it to the most concise description of the image's purpose. And leave out words like image, icon or picture, because screen readers already announce that an image is there.
| Image | Weak alt text | What I write | Why |
|---|---|---|---|
| A ring on its product page | ring jewellery buy ring online best ring | Gold ring set with an oval blue sapphire | It's what a buyer would search for, because it's what's in the photo |
| A logo that links to the homepage | logo.png | The site's name plus the word home | A linked image's alt says where the link goes, as in W3C's own example |
| A search button drawn as a magnifying glass | magnifying glass icon | Search | An icon that does something gets alt for the action, as in W3C's functional image examples |
| A graphic with words baked into it | banner | The same words the graphic shows | W3C says the alternative must contain the same text presented in the image |
| A car being loaded for scrap | scrap my car scrap car near me cheap | Small hatchback being winched onto a recovery truck | It describes the scene; a keyword list reads as spam to both readers |
| A decorative divider | divider | Empty, with nothing between the quotes | It adds nothing a listener needs to hear |
None of the good versions repeats the page's head keyword for the sake of it. A product name appears where the product's in the photo, and nowhere else. If the page is about sapphire rings and the photo is a sapphire ring, the keyword turns up on its own, and it's honest.
How I write alt text for a page, step by step
I work through a page image by image, top to bottom, in the order a screen reader would reach them. Each step takes seconds once it's a habit.
- Step 01
Read the page first
The same photo needs different alt text on different pages. A ring on a category page is one of many rings. On its own product page, it's the product.
- Step 02
Ask what the image adds
W3C suggests imagining you're reading the page aloud over the phone. If I'd skip the image while reading, it's decorative. If I'd have to say something about it, that something is the alt text.
- Step 03
Run it through the W3C decision tree
Does it contain text? Is it the only content of a link or a button? Does it add meaning, or repeat text that's already nearby? Is it purely decorative? Each answer points to one kind of alt text.
- Step 04
Write one plain sentence, most important words first
What's in the picture, then the detail that matters on this page: the stone, the model, the town, the step in a process. I name a product or place only when it's actually in the frame.
- Step 05
Describe where a linked image goes
A logo or icon that's the whole link gets alt text for its destination, the way W3C's example uses
W3C home. When the link already has visible text, the image gets an empty alt so the destination isn't read out twice. - Step 06
Check the file name agrees
Google's guide says file names give very light clues. I'd rename a generic
image1.jpgto a short description before upload. - Step 07
Listen to the page once
I read the alt text out in page order, or run a screen reader. Words running together, the same sentence three times, or a file name read aloud all show up in seconds.
Don't write alt text in bulk from a keyword list. A plugin or a spreadsheet that stamps the page's keyword onto every image produces exactly the stuffing Google's guide says may get a site seen as spam, and it tells a screen reader user nothing at all.
Rather have me do this? One person, whole job.
Book a call on UpworkHow do I describe a chart, a diagram or an image with a caption?
W3C calls graphs, charts, diagrams and maps complex images, because they carry more than a short phrase or sentence can. They get a two-part text alternative, and a caption is a third thing again.
- i.
A short alt that names it
The first part identifies the image and, where it helps, says where the full description is. For a chart of a site's monthly clicks, that's the chart's name, not the numbers.
- ii.
The figures written out on the page
The second part is W3C's long description: the essential information as text or a table next to the image. W3C also allows wrapping the image and that description together in a figure element with a figcaption.
- iii.
Alt text or caption?
Both, doing different jobs. WebAIM says an image inside a figure still needs its own alt text, and that the figcaption shouldn't carry the same information. The alt says what's in the picture; the caption adds context. I never paste one into the other.
When should alt text be empty?
An empty alt attribute isn't a missing one. alt="" tells assistive technology to skip the image. No alt attribute at all leaves a screen reader guessing, and for a linked image, W3C notes it'll typically announce the file name or the URL instead. These are the cases where I leave it empty on purpose.
- i.
Pure decoration
Dividers, background shapes, flourishes and spacer images add nothing a listener needs. W3C's decision tree gives them an empty alt.
- ii.
Text that's already on the page
An image of a heading or a quote that also appears as real text beside it would be read twice. The image gets an empty alt.
- iii.
An icon next to its own link text
A logo inside a link that already names the site, or an arrow beside the words Read more, repeats what the link says. W3C's functional image examples mark it empty.
- iv.
A generic stock photo
A laptop on a desk above a blog post usually adds no information, and describing it only slows a listener down.
Keep nothing between the quotes. W3C warns that if a space sits in there, the image may not be hidden from assistive technology. In WordPress, the Image block also lets you mark an image as decorative instead of typing anything.
Where does WordPress keep alt text, and why don't some fixes show?
WordPress keeps alt text in two places, and it catches people out. Its Image block documentation says alt text added in the block settings applies only to the image on that page or post, while alt text added in the Media Library sets the default when you insert the image elsewhere.
So filling in the Media Library won't change images already sitting in published posts. It changes the next insert. When I fix alt text on an existing site, I work from a crawl of the live pages, because it shows what's actually served. Then I fix each image where it lives: in the block for posts and pages, and in the Media Library for images a template pulls in.
On a WooCommerce store that means product by product. The main image and each gallery shot deserve their own sentence: the angle, the colour, the detail a buyer wants to see. It's part of getting product pages found by the people shopping for them, and image search is one of the ways they arrive.
What do I find when I audit alt text?
The spread is wide. On a jewellery catalogue, none of the images in the served homepage HTML was missing alt text when I checked on 27 September 2026, though a review widget adds 29 avatars without it after load. That matters on a store where image search is a real source of buyers.
Elsewhere it's the other way round. On a scrap car site, 35 of the homepage's 36 images had no alt text when I audited it; by 27 September 2026 all 36 carried an empty alt instead. On an ABA therapy practice's site, 4 of the homepage's 13 images have none. Neither number says the site is failing in search, and I won't claim alt text alone moves rankings. What they do say is that those images are silent to a screen reader.
A crawler's count of missing alt text is where I start, not the verdict. An empty alt might be a divider doing exactly the right thing, and a filled one might carry a file name or a keyword list. So every flagged image goes through the decision tree, and the fix list names the page, the image and the sentence I'd write, product and service pages first.
If your images are silent to screen readers and you'd rather one person worked through them page by page, alt text is one line in the technical audit I run remotely, next to titles, headings, indexing and speed. The fix list comes with the sentence to write for each image.
Book a call on Upwork
