Image alt text is the written description you add to an image through the alt attribute of an HTML <img> tag, and it exists so that people who cannot see the image, and machines that cannot interpret it visually, still understand what it shows and why it is on the page. It is the most quietly important piece of on-page work most websites get wrong, and it sits at the intersection of two things that rarely get talked about together: accessibility and SEO.
I have audited hundreds of small-business sites in Toronto and beyond, and alt text is almost always either missing, copy-pasted, or stuffed with keywords by a plugin that was supposed to help. This article walks through what alt text actually is, what Google does with it, what a screen reader does with it, and how to write it so both audiences are served at the same time. No fluff, no theory you cannot use on Monday morning.
What alt text actually is
When a browser loads an image, it reads the alt attribute as the text alternative for that image. If the image fails to load, the alt text is what appears in its place. If a visitor is using a screen reader such as JAWS, NVDA, or VoiceOver, the alt text is what gets read aloud when the cursor lands on the image. If a search engine crawler hits the page, the alt text is one of the strongest signals it has for understanding what the image depicts and how it relates to the surrounding content.
That is the whole job. Alt text is not a place to repeat your page title, it is not a tooltip (that is the title attribute, which behaves differently and is largely ignored by assistive tech), and it is not a caption. It is a short, accurate, plain description of the image written for someone who cannot see it.
The two reasons alt text matters
Accessibility is the primary reason
Roughly one in five Canadians lives with a disability, and a meaningful share of those people use assistive technology to browse the web. For someone using a screen reader, an image with no alt attribute is either announced as “image” (useless) or read aloud as the raw filename (often worse, “IMG_4521 dot jpeg” tells them nothing). Good alt text is the difference between a page that works for them and a page that does not.
This is not just good manners. In Ontario, the Accessibility for Ontarians with Disabilities Act (AODA) requires that public-facing websites of organizations above a certain size meet WCAG 2.0 Level AA. Providing text alternatives for non-text content is the very first success criterion of WCAG (1.1.1). In the United States, the ADA has been used in court repeatedly to compel businesses to fix inaccessible websites, and missing alt text is one of the most commonly cited failures. The European Accessibility Act, which took effect in June 2025, extends similar requirements across the EU. If your business sells to consumers in any of those markets, alt text is not optional.
SEO is the secondary reason, but it is real
Google has been clear for years that alt text is a ranking factor for image search and a contextual signal for the page overall. John Mueller and the Search Central team have said publicly that alt text helps Google understand image content and that it is treated as part of the page’s text for relevance. In practice, that shows up in three places:
- Google Images. Alt text is one of the main inputs Google uses to decide which queries an image should rank for. For e-commerce, recipe sites, and visually driven niches, image search can be a meaningful traffic channel.
- Page-level relevance. When Google parses a page, alt text is concatenated with the rest of the readable content. It is not weighted like an H1, but it adds context, especially for pages where images carry information the body copy does not repeat.
- AI Overviews and generative search. Google’s AI Overviews, Bing’s Copilot, and standalone tools like Perplexity increasingly cite images alongside text answers. The systems use alt text (and surrounding context) to decide which images are relevant and trustworthy enough to surface. Images with strong, descriptive alt text show up in these surfaces more often than images without.
The order matters. Write alt text for the screen-reader user first. If you do that honestly, the SEO benefit follows. If you write it for Google first, you will end up with keyword soup that fails both audiences.
What good alt text looks like
Good alt text is descriptive, concise, and contextually relevant. The rough rules I use with clients:
- Describe what the image actually shows, not what you wish it showed. If it is a photo of a barista pulling an espresso shot, say that.
- Keep it under about 125 characters. Most screen readers will read past that, but the experience degrades and the SEO value tapers off. Aim for one tight sentence.
- Match the surrounding context. The same image of a hockey stick might warrant different alt text on a product page (“Bauer Nexus Sync senior hockey stick, P88 curve, 75 flex”) versus a blog post about stick maintenance (“Worn blade on a wooden hockey stick after one season of ice play”).
- Include the keyword only if it fits naturally. If you are writing about Toronto wedding photographers and the image shows a couple at City Hall, “Bride and groom on the steps of Toronto City Hall” is excellent. “Toronto wedding photographer Toronto wedding photography services” is not.
- Do not start with “Image of” or “Picture of.” Screen readers already announce that it is an image. You are wasting the user’s time.
- Punctuate it like a sentence. Most screen readers pause on periods and commas, which makes longer descriptions easier to follow.
What bad alt text looks like
The four patterns I see most often:
- Missing entirely. No
altattribute at all. Screen readers read the filename, and Google has nothing to work with. - Default filename. Something like
alt="IMG_4521.jpg"oralt="DSC00112". Worse than nothing, because it confirms to the assistive tech that someone set an alt value and this is what they chose. - Keyword stuffing.
alt="seo agency toronto SEO services toronto best SEO toronto". Google has been ignoring or penalizing this since at least 2011. A screen reader user gets a confusing string of fragments. Nobody wins. - Decorative images with descriptive alt. The little flourish divider between sections does not need to be announced. It needs
alt=""so the screen reader skips it.
Decorative, informative, and functional images
Not every image needs descriptive alt text. The W3C splits images into three categories, and getting this distinction right is the single biggest quality win for most sites.
Decorative images
These are visual elements that add no information, background textures, section dividers, decorative flourishes, stock photos chosen purely to break up text. They should have alt="" (an empty alt attribute, not a missing one). The empty value tells assistive tech to skip the image entirely. If you omit the alt attribute instead, the screen reader will fall back to reading the filename, which is usually worse.
Informative images
These carry meaning the surrounding text does not fully convey, product photos, charts, infographics, screenshots, diagrams. They need descriptive alt text. If the image is doing real work on the page, the alt text should let a non-sighted user get the same information.
Functional images
These are images that act as buttons, links, or controls. A magnifying-glass icon that submits a search, a printer icon that triggers print, a logo in the header that links to the homepage. The alt text should describe the function, not the picture. For a search submit button, the alt text is “Search,” not “magnifying glass icon.” For a homepage logo link, the alt text is the company name (which is also the destination), not “company logo.”
Six before-and-after examples
Theory only goes so far. Here are six realistic scenarios drawn from work I have done with Toronto small-business clients, showing what bad alt text looks like and how to fix it.
| Scenario | Bad alt text | Good alt text |
|---|---|---|
| Product photo on an e-commerce page (ceramic mug) | alt="mug.jpg" | alt="Matte black stoneware coffee mug, 12 oz, with rounded handle" |
| Hero image on a dental clinic homepage | alt="dentist toronto best dentist toronto family dentist" | alt="Dentist in blue scrubs reviewing an X-ray with a patient in a Toronto clinic" |
| Infographic on a finance blog post | alt="infographic" | alt="Infographic comparing TFSA and RRSP contribution limits, tax treatment, and withdrawal rules for 2026" |
| Bar chart of monthly traffic in a case study | alt="chart showing growth" | alt="Bar chart showing organic traffic growing from 2,400 to 18,700 monthly visits between January and December 2025" |
| Social media share icon in an article footer | alt="facebook-icon.png" | alt="Share on Facebook" |
| Decorative divider between blog sections | alt="divider line decoration ornamental" | alt="" |
Notice what the good column does. It describes the image, it gives the screen-reader user the same information a sighted visitor gets, and where a keyword fits naturally (dentist, TFSA, RRSP, Toronto) it appears once, in context. No stuffing, no fluff, no “image of.”
Image SEO beyond alt text
Alt text is the most visible piece of image SEO, but it is not the whole job. If you want images to actually contribute to organic performance, six other things matter.
Filenames
Before you upload an image, rename it. DSC_0042.jpg tells Google nothing. matte-black-stoneware-mug.jpg tells Google what the image is and gives you a small but real ranking nudge for image search. Use hyphens, not underscores, and keep it short.
Captions
Captions are visible to all users and tend to get read more carefully than body copy. They are not a substitute for alt text, sighted users see the caption, but screen-reader users hear the alt text first and then the caption second, so making them identical is repetitive. Use the caption to add context or attribution, and let the alt text describe the image itself.
Surrounding text
Google heavily weights the text immediately above and below an image when deciding what the image is about. An image of a Toronto streetcar sitting in the middle of a paragraph about Vancouver real estate is going to send mixed signals. Place images near the text they support.
Structured data
For product, recipe, article, and how-to content, include image URLs in your schema.org markup. The ImageObject type lets you specify a canonical image, its caption, licensing, and creator. This is how images end up in rich results, Google Discover, and increasingly in AI Overviews. Most CMS platforms handle this automatically through SEO plugins, but it is worth verifying in Google’s Rich Results Test.
Modern image formats
WebP and AVIF deliver the same visual quality as JPEG and PNG at roughly 25-50 percent of the file size. Smaller files mean faster pages, and page speed feeds into Core Web Vitals. Most modern hosting (including WP.com Atomic, which I use for my own site) serves WebP automatically. If yours does not, a plugin like ShortPixel or a service like Cloudinary will handle conversion on the fly.
Lazy loading and explicit dimensions
Add loading="lazy" to images below the fold so the browser only fetches them when the user scrolls near. Always include width and height attributes so the browser reserves space and avoids layout shift. Both habits improve Largest Contentful Paint and Cumulative Layout Shift, two of the three Core Web Vitals.
Common mistakes I see in audits
A handful of patterns come up in nearly every site audit. If you fix only these, you will be ahead of most of your competition.
- Stuffing keywords into every alt attribute. Usually the work of an overzealous plugin or a junior content writer who was told “include the keyword.” It hurts more than it helps.
- Repeating the caption verbatim. Screen-reader users hear the alt, then the caption. Identical content is fatiguing and unhelpful. Make them complementary.
- Treating alt as the title attribute. The
titleattribute creates a tooltip on hover. It is not equivalent to alt and most screen readers ignore it. Use alt for the description; skip title unless you have a specific reason. - Missing alt on decorative inline SVGs. Inline SVGs do not use the
altattribute the same way; you needrole="img"with anaria-label, oraria-hidden="true"for purely decorative ones. SVG icons in buttons are the single most common accessibility failure I see. - Background images with no text alternative. CSS background images do not get alt attributes at all. If the image carries information, it should be an
<img>tag, not a CSS background. Reserve CSS backgrounds for purely decorative use. - Logos with “logo” as the alt text. If the logo links to the homepage, the alt text should be the business name, because that is the function of the link. “Acme Plumbing” beats “Acme Plumbing logo” every time.
How to audit your alt text
You cannot fix what you have not measured. Four tools will get you from “I have no idea what shape my image accessibility is in” to a prioritized fix list in an afternoon.
- WAVE (WebAIM). Free browser extension. Visually overlays accessibility issues directly on the page. Best for spot-checking individual pages and showing clients what an issue looks like in context.
- axe DevTools. Free Chrome and Firefox extension from Deque. More thorough than WAVE, with severity ratings and remediation guidance. The professional version handles bulk scans.
- Lighthouse. Built into Chrome DevTools. The Accessibility audit catches missing alt attributes and several related issues. Pair the Accessibility score with the Performance score to spot image-related Core Web Vitals problems.
- Screaming Frog SEO Spider. The image SEO workhorse. Crawl your whole site, then filter for images missing alt text, with alt over 100 characters, or with duplicate alt text. Export the list and work through it page by page. This is what I use for client audits.
A reasonable cadence for a small business is a full audit once a year, plus a Screaming Frog spot-check whenever you publish a batch of new content.
What about AI-generated alt text?
WordPress 6.x ships with optional AI alt text generation through Jetpack AI Assistant. Cloudinary, Shopify, and most modern DAMs offer similar features. They use vision models to look at the image and produce a description. The technology has improved noticeably in the last two years, and for a site with thousands of legacy images and no alt text at all, machine-generated alt is a real upgrade over nothing.
It is not a finished product, though. Vision models hallucinate, especially on images with text, charts, or brand-specific products. They also tend toward generic descriptions (“a person standing in a room”) that miss the contextual nuance that makes alt text useful. My recommendation to clients: use AI-generated alt as a starting draft for bulk backfills, then review every single one before publishing. For new content, write it yourself or have your content writer do it, the person who chose the image is in the best position to describe why it is there.
The short version
Alt text is a short, plain-language description of an image, written first for people who cannot see it and second for the search engines that need to understand what is on your page. Get it right and you serve both audiences at once. Get it wrong and you fail screen-reader users, give Google nothing to work with, and in some jurisdictions create legal exposure for your business.
The discipline is simple: describe what the image shows, keep it concise, match the context of the page, use alt="" for purely decorative images, and never stuff keywords. Pair that with sensible filenames, captions, modern image formats, and lazy loading, and your image SEO will outperform sites that have spent ten times more on it. Run a Screaming Frog crawl this week, fix the missing and stuffed alt attributes you find, and you will have done more for accessibility and image search than ninety percent of small-business sites in the country.
If you want a hand running that audit on your site, that is exactly the kind of work I do. The fixes are usually faster than people expect, and the payoff, for users, for search, and increasingly for the AI surfaces that are starting to cite images directly, compounds for years.