Dr J's Binding Protocol — Document 09

Image Descriptive Text Strategy

A complete guide to writing alt text, titles, captions, and long descriptions for every image type on an e-commerce website.

← Back to Build Hub

1. The Four Image Attributes

Every content image on a website needs up to four types of descriptive text. Each serves a different audience and purpose.

Attribute What It Does Who Sees It Required?
alt Screen reader text. Describes what the image shows. Also appears when images fail to load. Screen readers, search engines, broken-image fallback Always (empty alt="" for decorative)
title Tooltip on desktop hover. Provides supplementary context. Sighted desktop users (hover only). Not reliable on mobile or screen readers. Recommended for content images
caption Visible text below the image via <figure> + <figcaption>. Provides context everyone can read. All users (visual) Recommended for content images
description Extended detail via aria-describedby. For complex images (charts, technical diagrams, spec drawings). Screen readers (announced after the name) Only for complex images
Key principle: alt and title should not duplicate each other. Alt describes what the image shows. Title adds context about what happens when you interact with it, or provides a short label. Caption tells the story. Description provides technical depth.

How They Work Together

<figure>
<img
src="images/chassis-front-view.jpg"
alt="Patriot HD-4500 steel frame, front three-quarter view showing grille mount and recovery point"
title="HD-4500 Custom Full Chassis"
aria-describedby="chassis-specs"
width="800" height="450"
>
<figcaption>Complete rolling chassis with IFS front, 4-link rear, and Fox coilovers. Built for 67-72 Chevy/GMC platforms.</figcaption>
</figure>

<div id="chassis-specs" class="sr-only">
The HD-4500 features a fully boxed ladder frame constructed from DOM steel tubing. Front suspension is independent with 16 inches of travel using forged aluminum upper and lower control arms. Rear suspension uses a triangulated 4-link with Fox 2.5 coilover shocks. Axles are AAM 9.25 front and AAM 11.5 rear with selectable lockers. Wheelbase is adjustable from 117 to 133 inches.
</div>

What Each Audience Receives

Audience What They Get
Screen reader user Alt text read first, then aria-describedby content if they request more detail
Sighted desktop user Image visible, title tooltip on hover, caption text below
Mobile user Image visible, caption text below (no hover tooltip)
Search engine Alt text + surrounding text (caption, headings) for indexing
Broken image / slow connection Alt text displayed in the broken-image placeholder

2. Image Classification & Treatment

Not every image needs all four attributes. The treatment depends on the image's purpose.

Content Images

Convey information, meaning, or context. Removing them would change the page's meaning.

Treatment: All four attributes. Alt (required), title (recommended), caption via figcaption (recommended), description via aria-describedby (for complex images only).

Functional Images

Trigger an action — links, buttons, navigation elements.

Treatment: Alt text describes the action or destination, not the image. Logo: alt="Patriot Chassis - Home" not alt="Patriot Chassis logo". Search icon: alt="Search" not alt="magnifying glass". No caption or description needed.

Decorative Images

Add visual appeal but convey no information. Removing them wouldn't change meaning.

Treatment: alt="" (empty, not missing). No title, no caption, no description. Ideally implement as CSS background images instead. Never describe decorative images — it creates noise for screen reader users.

Quick Reference

Image Type alt title caption description
Product photo Describe the product + view Product name Context / key feature If complex (specs, diagrams)
Gallery image Describe what's shown Short label Build details / story Rarely needed
Technical drawing Identify the diagram Drawing title What it illustrates Full spec data (required)
Logo (linked) Brand name + destination Not needed Not needed Not needed
Icon with text label alt="" (decorative) Not needed Not needed Not needed
Background texture CSS background (no alt) Not needed Not needed Not needed
Hero banner (CSS bg) role="img" + aria-label Not needed Not needed If complex scene

3. The Alt Text Decision Tree

Use this flowchart when deciding what descriptive text an image needs. Based on the W3C WAI Alt Decision Tree.

Does the image contain text? If the text is also in surrounding content, use alt="". If the text only exists in the image (sale badges, promotional banners), put that text verbatim in alt.
Is the image inside a link or button? Alt text describes the action or destination, not what the image looks like. If the link also has visible text, use alt="" on the image to avoid redundancy.
Does the image contribute meaning? If yes and it's a simple image, write a brief description (80-140 characters). If it's a complex chart, diagram, or technical drawing, provide short alt + long description via aria-describedby.
Does the image duplicate adjacent text? If a product heading already says "HD-4500 Steel Truck Chassis," the image alt should describe what the image adds beyond the heading, not repeat it.
Is the image purely decorative? Use alt="". Do not describe it. Better yet, implement it as a CSS background image.

4. How to Write Effective Alt Text

The Formula

For product and content images, follow this pattern:

Brand + Product/Subject + Key Visual Detail + Distinguishing Feature

Length

Voice & Tone

Good vs. Bad Examples

Image Bad Alt Text Good Alt Text
Full chassis, 3/4 view alt="chassis" alt="Patriot HD-4500 rolling chassis, front three-quarter view, black powder coat with Fox coilovers visible"
Air shock closeup alt="product image" alt="Patriot Air Shock mounted on K5 Blazer rear axle, showing remote reservoir and braided line"
Welding action shot alt="IMG_2847.jpg" alt="Fabricator TIG welding a frame rail joint in the Patriot Chassis Idaho shop"
Size chart alt="size chart" alt="Chassis dimension chart showing length, width, and wheelbase measurements. Full data in table below."
Logo in navbar alt="logo.png" alt="Patriot Chassis"
Decorative divider alt="red line divider" alt=""

Rules

Never start with "Image of" or "Photo of." Screen readers already announce "image" before reading alt text. Starting with "Image of" causes: "Image, Image of a red truck." Redundant.
Never use filenames as alt text. alt="DSC_0042_final_v3.jpg" is the single worst accessibility failure. If your CMS auto-populates filenames, override them.
Never keyword-stuff. alt="truck chassis steel frame buy online best price custom build" hurts both accessibility and SEO. Google penalizes keyword stuffing.
Every image in a gallery needs unique alt text. Five photos all saying alt="Patriot Chassis" provide zero differentiation. Each image should describe what is uniquely visible.
Update alt text when images change dynamically. JavaScript carousels or color-variant selectors that swap the src must also swap the alt.

5. How to Write Captions

Captions are the visible text below an image, implemented with <figure> and <figcaption>. Unlike alt text, captions are for everyone.

Caption vs. Alt Text

Aspect Alt Text Caption
Audience Screen readers, search engines All users (visual)
Purpose Describe what the image shows Explain why the image matters, tell the story
Tone Factual, descriptive Can be narrative, contextual, even promotional
Length 80-140 characters 1-3 sentences
Duplication They should complement each other, not duplicate

When Captions Are Required

When Captions Are Optional

Example: Alt + Caption Working Together

<figure>
<img src="weld-detail.jpg"
alt="Close-up of full-penetration TIG weld on HD-4500 frame rail joint"
title="Frame Rail Weld Detail">
<figcaption>
Every frame joint receives a full-penetration TIG weld inspected
to AWS D1.1 structural welding standards. No MIG, no shortcuts.
</figcaption>
</figure>

Notice: the alt describes what you see (a close-up of a weld). The caption tells why it matters (welding standards, quality commitment). They complement, not duplicate.

6. Long Descriptions (aria-describedby)

Some images are too complex for a short alt text. Technical diagrams, size charts, spec drawings, exploded views, and infographics need an extended description.

When to Use Long Descriptions

Five Techniques (Ranked by Reliability)

1. Adjacent visible text or data table (best)

Place the description or data table directly on the page near the image. Works for all users, all technologies.

<figure>
<img src="specs.jpg" alt="HD-4500 dimension chart. Full data in table below.">
<figcaption>
<table>
<tr><th>Dimension</th><th>Value</th></tr>
<tr><td>Wheelbase</td><td>117-133 in.</td></tr>
<tr><td>Width</td><td>34 in. frame rail</td></tr>
</table>
</figcaption>
</figure>

2. Collapsible <details> / <summary> (good for space)

<img src="infographic.png" alt="Manufacturing process infographic. Expand details below.">
<details>
<summary>Full description of manufacturing process</summary>
<p>The process begins with raw steel tube selection...</p>
</details>

3. aria-describedby (good for text-only descriptions)

<img src="chart.png" alt="Sales growth chart" aria-describedby="chart-desc">
<div id="chart-desc" class="sr-only">
Sales grew from $1.2M in 2023 to $2.8M in 2025...
</div>
Limitation: Screen readers read aria-describedby content as one continuous paragraph. Any structural markup (headings, tables, lists) inside the referenced element is stripped. Use only for prose descriptions.

4. Linked separate page (for very long descriptions)

A standard link to a dedicated description page. Discoverable and functional for all users.

5. longdesc attribute (deprecated — do not use)

Removed from HTML5. Unreliable browser support. Replace with any of the above.

7. E-Commerce Product Images

55% of e-commerce sites fail to provide adequate alt text for product images (Baymard Institute). This is both an accessibility failure and a missed SEO opportunity.

Product Image Alt Text Formula

Brand + Product Name + View/Angle + Key Visual Detail

Multiple Product Images

Each image in a product gallery needs unique alt text describing what that specific view reveals.

View Alt Text Example
Hero / front "Patriot HD-4500 steel frame, front three-quarter view, black powder coat finish"
Side profile "HD-4500 frame side view showing 6-point suspension mount configuration"
Rear "HD-4500 rear crossmember with Class V hitch receiver and tow loops"
Detail / close-up "Close-up of HD-4500 boxed frame rail showing CNC-cut fishmouth joints"
Installed / lifestyle "HD-4500 chassis installed under 1972 Chevy K20, driving on rocky desert trail"
Underside "HD-4500 undercarriage view showing 4-link rear suspension and crossmember clearance"

Color Variants

Product Thumbnails in Catalog

8. CSS Background Images

CSS background images have no native alt text mechanism. If a background image conveys meaning, you must add accessibility through markup.

Meaningful Background Images

Hero banners, section backgrounds with content imagery, and call-to-action backgrounds that set a scene.

<!-- CSS: .hero { background: url('hero-desert.jpg') center/cover; } -->

<section class="hero" role="img" aria-label="Classic truck driving through Idaho mountain pass at golden hour">
<!-- Hero content goes here -->
</section>
Important: Adding role="img" to an element causes screen readers to treat it as an image. If the element also contains child text content, that text may be obscured. For elements that must contain both a background description and child content, use a visually hidden <span> inside instead of role="img".

Decorative Background Images

SEO Note

Google does not index CSS background images. If an image needs to appear in Google Images or contribute to SEO, it must be an <img> element with proper alt text. Use CSS backgrounds only for decorative/atmospheric images.

9. Image SEO & Filenames

File Naming Convention

Google reads filenames for context. Use descriptive, hyphenated names.

Bad Good
IMG_2847.jpg patriot-chassis-hd4500-front-view.jpg
product_12847.jpg air-shock-k5-blazer-rear-axle-mount.jpg
DSC_0042_FINAL_v3.jpg tig-weld-frame-rail-detail.jpg
hero-banner.png k5-blazer-desert-trail-action-shot.jpg

SEO Signals by Attribute

Attribute SEO Impact
alt text Primary signal. Google uses it alongside computer vision for image indexing.
Filename Secondary signal. Descriptive names help Google understand image content.
figcaption / surrounding text Contextual signal. Google reads nearby text to understand image relevance.
title attribute Minimal to zero impact.
ARIA attributes Zero impact. Not read by search engine crawlers.
Schema.org ImageObject Helps images appear in rich results (product carousels, recipes, etc.).

Image Sitemap

Helps Google discover images it might miss, especially from CDN subdomains. Include in your sitemap.xml.

10. 12 Common Mistakes

Missing alt attribute entirely. Not the same as alt="". A missing alt causes screen readers to read the full filename aloud. This is the single worst image accessibility failure.
Using filenames as alt text. alt="IMG_2847.jpg" provides no meaningful information. Often caused by CMS auto-population. Always override.
Starting with "Image of..." or "Photo of..." Screen readers already announce "image" before reading alt text. This causes: "Image, Image of a red truck." Redundant and noisy.
Keyword stuffing. alt="truck chassis steel frame buy custom best price" hurts both accessibility (word soup) and SEO (Google penalizes it).
Same alt text on every image. Product galleries where every photo says alt="Patriot Chassis" provide no differentiation. Each image should describe what is uniquely visible.
Describing decorative images. alt="Blue decorative divider line" creates screen reader noise for zero benefit. Use alt="".
Alt text that duplicates adjacent text. If a heading already says "HD-4500 Steel Truck Chassis," the image alt should describe what the image adds beyond the heading.
Overly long alt text. Over 250 characters becomes burdensome for screen reader users. If you need more, use aria-describedby for the extended detail.
Using title instead of alt. The title attribute is not reliably announced by screen readers and is invisible on mobile devices. It is not a substitute for alt.
Ignoring CSS background images. Hero banners and section backgrounds implemented in CSS are invisible to screen readers unless you add role="img" and aria-label.
Not updating alt when images change dynamically. JavaScript carousels or color-variant selectors that swap the src but not the alt create a disconnect between what users hear and see.
Images of text without matching alt. Promotional banners or "SALE" badges embedded as images must include that text verbatim in alt. Failing this violates WCAG 1.4.5.

11. WCAG & Legal Requirements

WCAG 2.2 Success Criteria

Criterion Level What It Requires
1.1.1 Non-text Content A All non-text content has a text alternative that serves the equivalent purpose
1.4.5 Images of Text AA Text should not be presented as images unless essential (e.g., logos)
1.4.9 Images of Text (No Exception) AAA Images of text only used for pure decoration or essential presentation

Legal Deadlines

E-commerce exposure: ADA web accessibility lawsuits have increased year over year since 2018. Image alt text is the #1 most-cited violation in demand letters. Getting alt text right is the single highest-impact accessibility fix for any e-commerce site.

12. Audit Checklist

Use this checklist during Phase 5 (Polish) to verify every image on the site. The Alt Text View mode (?alt) automates part of this, but manual review is still required for quality.

Automated Checks (Alt Text View)

Manual Quality Checks

Screen Reader Test

Visual Test