Alt text is the most failed accessibility rule on the web
WCAG 1.1.1 is failed on more than half of all home pages every year (WebAIM Million). The reasons are mundane: editors don't know what to write, busy teams skip it, or developers ship images without an alt attribute at all. AltSense closes that gap with an AI assistant that understands the page, the image, and the rules — and refuses to invent content it can't see.
Pick an image. Watch AltSense write its alt text.
A simulated run with curated samples. The real model uses a vision encoder + your page context (heading hierarchy, surrounding text, link target) to decide tone and length.
Team photo on About page
<img src="team.jpg" alt="The AFT engineering team — Andrés, Maya and Kwame — smiling at the camera.">
- WCAG 1.1.1 — text alternative provided
- Length within 25–125 chars (assistive-tech friendly)
- No redundant "image of" / "picture of" prefix
- Does not repeat the surrounding caption verbatim
- No inferred identity / emotion claims about people
Why this output: the surrounding heading is "Meet the team" and the image is a posed group photo. Concise mode emits a single sentence naming what's visible — names lifted from the figcaption you already authored.
Four steps from pixels to a passing audit
-
See
A multimodal vision model encodes the image — objects, layout, text inside the image, sentiment of the scene, and whether it contains a chart, code, a face, a diagram or a UI screenshot.
-
Read the page
It reads the surrounding DOM — heading hierarchy, figcaption, nearest paragraph, the link target if the image is inside an
<a>. This is what tells it "decorative vs. functional vs. informative". -
Apply the rules
WCAG 2.2 Success Criteria — 1.1.1, 1.4.5, 2.4.4, plus W3C alt-text decision tree — run as a deterministic validator over the draft output. Failures trigger a rewrite, not a workaround.
-
Adapt the tone
You pick concise / descriptive / functional / decorative. AltSense rewrites to your house style and matches the reading level of the rest of the page.
One image, four valid answers
Alt text isn't one-size-fits-all — the right answer depends on what the image is doing on the page. AltSense picks a sensible default and lets you override.
Hidden from screen readers
Visual flourishes, repeated logos, divider art. AltSense emits alt="" plus role="presentation" when ambiguous markup is present.
<img src="divider.svg" alt="">
Describes what is shown
Photos, illustrations and diagrams that carry meaning. Concise by default — names, action, context — no editorialising.
<img src="conf.jpg"
alt="A speaker on stage demonstrating
the AltSense dashboard to an audience.">
Describes what it does
Image-as-button, image-as-link, icon controls. The alt text replaces the action, not the picture.
<a href="/report.pdf">
<img alt="Download Q3 report (PDF, 2.1 MB)">
</a>
Short alt + long description
Charts, infographics, maps. Short alt summarises the takeaway; a sibling <figcaption> or aria-describedby holds the longform data table or transcript.
alt="Bar chart: Q1–Q4 revenue,
up 38% year-over-year"
aria-describedby="rev-table"
Before AltSense vs. after
alt="image1"
Tells the user nothing. Counts as a WCAG 1.1.1 failure.
alt="A nurse fitting a smart-watch monitor on a patient's wrist."
Names the actors, action and object — matches the surrounding clinical-trial copy.
alt="Image of a smiling woman in a red dress standing in front of a brick wall holding a coffee."
Over-describes a decorative hero. Burns 30 seconds of a screen-reader user's time.
alt=""
Hero image purely decorative beside a self-explaining headline — AltSense detected this from the H1 sibling.
alt="logo"
Image is wrapped in <a href="/">. The alt should describe the link, not the picture.
alt="AFT Software — home"
Functional alt: describes the destination, not the pixels.
Mapped to the rules you'll be audited against
- 1.1.1 Non-text Content
- 1.4.5 Images of Text
- 2.4.4 Link Purpose (In Context)
- 2.4.9 Link Purpose (Link Only)
- 3.1.5 Reading Level (output matches page)
- 4.1.2 Name, Role, Value (icon buttons)
Three ways to put AltSense into your pipeline
CMS plugin
Editors click Suggest alt text inside the image picker. Suggestions appear inline, with the picked WCAG mode displayed beside the field. Available for Silverstripe, Umbraco, Sitecore, SharePoint and WordPress.
GitHub Action
Add aft/altsense-check@v1 to your CI. The bot opens PR comments with suggested alt text and fails the build on missing or low-quality values — so issues never reach production.
Browser extension
Auditors hover any image on any site and get a live suggestion plus the WCAG check panel — useful for Lighthouse-style spot checks and stakeholder demos.
What AltSense will not do
- No identity claims. It won't guess a person's name, gender, race or age from a photo. If you want names, give it the figcaption — it'll lift them verbatim.
- No medical or legal diagnosis. A scan of an X-ray gets "medical imaging" — not "fractured tibia".
- No replacing human review. AltSense is rated against a curated 1,200-image golden set at 94% editor-approval. The other 6% need a person — that's why every suggestion is editable, not auto-applied.
- No fabricated text. If text is unreadable in the image, it says "contains illegible text" rather than guessing.
Bring AltSense to your CMS
We can ship AltSense as a Silverstripe / Umbraco / Sitecore module, a GitHub Action that fails PRs missing alt text, or a browser extension for content teams. Talk to us — we tailor the rollout to how your editors actually work.