DescribePhotoA PictureEditor.com tool

What a screen reader announces

Nothing on a page tells you that your alt text is spoken with a word in front of it. Almost every common alt-text mistake is a collision with that one fact.

The announcement has three parts, and you write one

When a screen reader reaches an image with a non-empty alt attribute, it does not read your sentence. It reads a role, then your sentence, and then — depending on where the image sits — some context about the element around it. The role is a word like “graphic” or “image”, chosen by the software rather than by you, and it arrives before anything you wrote.

So the string a listener actually hears from alt=“Photo of a red bicycle” is closer to “graphic, photo of a red bicycle”. The category is announced twice: once by the software and once by you. It is a small cost on one image and a steady tax across a page of forty.

Everything below follows from that. The tool on this site strips those openings for you because it is the one edit that cannot change your meaning, and it is the most common finding on any real page.

What each one adds

NVDA on Windows

Announces “graphic” and then the alt text. Inside a link it announces the link first, so a linked image reads as link, graphic, then your words — which is why the alt text of a linked image should describe the destination rather than the picture. With no alt attribute at all, NVDA will frequently read the file name, which is how a page ends up saying “graphic, I M G underscore four zero two one dot J P G”.

JAWS on Windows

Similar, with more configuration behind it. Verbosity settings change how much context comes with an image and long-standing users often run them low. Graphics with no alternative can be announced by file name, by a hash, or skipped entirely depending on those settings — so the failure mode varies between two people using the same software on the same page.

VoiceOver on macOS and iOS

Announces “image” and the alt text, and on iOS an image inside a link becomes a single element the user swipes to, with the role and the name read together. The image rotor lists every image on a page by its accessible name — which is a good test of your own work, because a list of names with no surrounding sentence shows immediately which of them say nothing.

Four habits that collide with the announcement

What was written, and what was heard

  • As writtenImage of a red bicycle leaning on a wall

    InsteadA red bicycle leaning against a brick wall.

    Heard as graphic, image of a red bicycle. Start at the subject; the role is not yours to announce.

  • As writtenBUY NOW

    InsteadBuy now.

    Several configurations treat a run of capitals as an initialism and spell it out. Sentence case is not a style preference here — it changes what is said.

  • As writtenClick here

    InsteadDownload the 2026 rainfall dataset.

    On a linked image the alt is the link's accessible name. Someone listing the links on a page hears these strings on their own, with no paragraph around them to explain which is which.

  • As writtenChart showing rainfall Chart of rainfall data chart

    InsteadRainfall by month, peaking sharply in July.

    Repetition is not punished by an algorithm here; it is just read out, in full, to someone who cannot skip it. Every repeated word is a second of somebody's time.

The test that takes two minutes

Turn on the screen reader already installed on the machine you are using — VoiceOver with Command-F5, Narrator with Control-Windows-Enter, or NVDA if you have it — and listen to one page of your own site. Not all of it. One page, once.

Most people who do this find the same three things within a minute: an image announcing a file name, a decorative flourish being described at length, and a logo in the header whose alt text is the word “logo”. None of those are visible in a browser, which is why a checker reads the string and a person should occasionally listen to the page.

Where to take this next

The other written pages