Skip to content

We use Google Analytics to understand how visitors use this site. Accepting sets an analytics cookie; declining means we don't set one. See our Privacy Policy.

AltAuditor

Guide

Step-by-step guide: from connecting your CMS to an audit report

AltAuditor finds images without usable alt text in your CMS media library, drafts alt text with AI, lets a person review every text, writes the approved text back to the CMS, and produces an audit report. This guide follows one demo project from start to finish.

The screenshots show a demo project: the company, the site and the data are fictional. The AI proposals in the demo are pre-written, in the same form the model returns (alt text, a confidence value and a suggestion: informative, decorative or complex). In your own projects they are generated from your images.

What AltAuditor covers

AltAuditor covers WCAG Success Criterion 1.1.1 (Non-text Content, Level A) for the images in the media library of the connected CMS. It does not assess the accessibility of the whole site.

Step 1: Run a free scan

Enter a site's URL on the Scan page. AltAuditor reads its sitemap, or the links on the home page if there is no sitemap, and counts the images that have no alt text. It also counts images whose alt text is only a file name, a placeholder or a product code (such as "IMG_4521.jpg", "image" or "5205746133448"), and shows where the same alt text is used for different photos on one page. On a large site it opens a sample of pages spread across page types and estimates the whole site from that sample. Results are sent to your email. No account is needed.

Some sites block automated scanners. If a site blocks the scan, the result says so instead of showing a number.

The Scan page with a website URL and an email address filled in, and a result below: 31 content images found, 22 have no alt text (19 with no alt attribute, 3 with an empty alt), and a note that 2 more have alt text that looks like a file name or placeholder. A yellow box says 3 of 31 images have alt text that doesn't describe the image, because the same alt text is used for 3 different photos on one page, with three small example photos. Below are a table of where the images come from and the line "Scanned all 14 pages: 1 homepage, 3 category pages, 10 product pages".
Scan result for a demo site: 31 images, 22 without alt text (3 of them with an empty alt), 2 with a file name or placeholder as alt text, and 3 photos on one page that share one alt text.

Step 2: Connect your CMS

In the dashboard, choose Connect a project, pick WordPress, Sanity or Payload, and enter the connection details for that CMS. For Sanity that is the project ID, the dataset and an API token with the Editor role, which write-back needs.

AltAuditor saves the project and runs a first sync right away. If the connection fails, the error is shown.

The Connect a project dialog with the project name Harbourline Outfitters, CMS type Sanity, a Sanity project ID and dataset filled in, an empty API token field and a Connect and sync button.
The connect form for a Sanity project, filled in with demo values.

Step 3: Sync the media library

Sync now reads the images in the media library. Images that already have alt text are never sent to the AI and are never changed. Alt text that is only a file name, a placeholder or a product code does not count as covered; the project page shows a warning for those, and a separate note for images that share their alt text with a different image.

The project page for Harbourline Outfitters showing 19 images pending generation and a warning that 2 existing alt texts look like file names, placeholders or product codes, with the buttons Sync now, Generate alt text, Review and Report. Below them a box named Suggestions for existing alt text has two options, Off and Images without alt text, plus alt text that looks like a file name, placeholder or product code, with Off selected.
The project page after a sync: 19 images need alt text, 2 existing alt texts are flagged. Suggestions for existing alt text are off.

Step 4: Generate alt text

Generate alt text sends a reduced copy of each image without alt text (at most 1024 px) to an AI vision model. The model proposes alt text in the language of the site, taken from its <html lang> attribute. It also suggests whether an image looks decorative or needs a longer description.

These are proposals only. Nothing is applied until a person approves it.

A project can also get proposals for alt text that already exists and looks like a file name, a placeholder or a product code. This is a project setting (Suggestions for existing alt text) and is on by default only for new projects. For these images the review shows the current alt text and the proposal next to each other, and nothing is replaced unless you choose Replace, Edit or Decorative for that image.

The project page while generation is running: the Generate button reads Generating and a line says 8 images are left.
Generation in progress.

Step 5: Review one image at a time

Each image appears with its proposed alt text. Approve with Enter or A, edit with E (Enter saves, Shift+Enter adds a line, Escape cancels), reject with R, skip with S, mark as decorative with D, and undo the last decision with Z.

For an image that already has alt text (when the project setting is on), Enter or K keeps the current text, P replaces it with the proposal, E edits the proposal first, and D replaces it with an empty alt attribute. A and R do nothing on these cards, so a habit cannot replace text by accident.

When the model suggests that an image is decorative, the card says so and waits for you to press D. When it suggests that an image needs a longer description, the card says that a short alt text alone may not be enough. An image marked decorative gets an empty alt attribute, as WCAG requires for purely decorative images.

The review screen with a photo of camping gear laid out on a dark surface, the proposed alt text below it, its confidence, and the buttons Approve, Reject, Skip, Decorative, Edit and Undo.
An informative image with its proposed alt text.
The review screen with a photo of a grey stone texture. A label below the proposed alt text reads: Model suggests: decorative, press D to confirm.
The model suggests that this texture is decorative. You confirm with D.
The review screen with a line chart of a trail's elevation profile. A label reads: Needs a long description, short alt alone may not meet WCAG 1.1.1.
A chart: a short alt text alone may not be enough, so the card flags it.
The review screen for an image that already has alt text. Two columns above the buttons: Current alt in CMS, IMG_4521.jpg, with a label Looks like a file name, and Proposed alt, Dark grey dome tent with an open mesh door, set up on a concrete workshop floor. The buttons are Keep current, Replace, Skip, Decorative (empty alt), Edit and Undo.
An image whose alt text is only a file name: the current text and the proposal side by side. Nothing changes until you choose Replace, Edit or Decorative.

Step 6: Approve the easy ones in bulk

Bulk approve (a link in the review header) shows the images above a confidence threshold, 85% by default, which you can change with the slider. Similar images in the same folder with the same file name prefix are grouped. The confidence value is the model's own estimate: use it to decide where to look first, not as proof that a text is right.

Images the model flagged as decorative or complex, and images whose file path suggests an icon or flag, are listed separately under "Needs your decision" and are never pre-selected. Images that already have alt text are never part of a bulk approve; they are reviewed one by one. You can still select them yourself. Undo last bulk approve (Z) reverts the last bulk approval.

The bulk approve screen: a confidence threshold slider at 85%, a button reading Approve 12 selected, a section Needs your decision with two unchecked images, a group of three campfire photos, and a grid of other pre-selected images with their alt texts.
Bulk approve: flagged images are not pre-selected; the rest is selected for one approval.

Step 7: Write back to the CMS

Write-back sends approved and edited alt text to the CMS. Before each write, AltAuditor reads the current alt text in the CMS. If a person has already written different alt text there, it is left as it is and listed as skipped with the text that was found, unless you explicitly approved replacing that exact text for that image. AltAuditor never overwrites existing alt text without your explicit approval, image by image.

The write-back result: Done, 17 of 17 processed, 16 images written, 1 skipped, 0 errored. The skipped list shows one image with the note: existing alt text in the CMS, Lady fern at the Myrstigen trail.
A write-back run: 16 images written, 1 skipped because the CMS already had alt text.

Step 8: Download the audit report

The audit report is a PDF for the project. Page 1 is the summary: images found, coverage before and now, decorative images, a summary of the human review, a report ID and an integrity hash. The following parts list what is not covered, including alt text that is only a file name, a placeholder or a product code, and every image with its decision. The report also states the standard, the scope and the method, and ends with a template for draft accessibility information.

The audit report page in the dashboard: 25 images found, coverage before 16 percent, coverage now 80 percent, 2 decorative images, and a Download PDF report button.
The report page in the dashboard.
Page 1 of the audit report PDF: the summary boxes, a table of images by status, a human review summary and a report integrity box with the report ID, the SHA-256 hash and a verification link.
Page 1 of the PDF.

Step 9: Let your client check the report

The report contains a link to the Verify page. When the report ID and the hash match, the page shows the figures recorded when the report was generated: project name, images, coverage before and now, decorative images and images with a human decision. Your client can compare them with page 1.

The check covers those figures and the hash only. It does not cover the rest of the PDF.

The Verify page with a report ID and hash filled in, and a green result: this report ID and hash match a report generated by AltAuditor, with the project name and the summary figures.
A matching report on the Verify page.

What AltAuditor does not do

  • It does not decide whether existing alt text is accurate. It flags only obvious cases, such as file names, placeholders, product codes and the same alt text on different images.
  • It does not write long descriptions for complex images. It flags them for you.
  • It covers images in the CMS media library, not images added in other ways, and not other WCAG criteria.
  • The audit report is not an assessment of the whole site's conformity with WCAG, EN 301 549 or the European Accessibility Act.

Image credits

The photographs and charts in the demo project come from Wikimedia Commons. All are released under CC0 (public domain dedication); credit is given as a courtesy.

Want to see the numbers for your own site?

Scan a site for free