Skip to main content
WCAGrules
Quick navigation

Do not let text alternatives fall out of date

F20 is a documented failure filed under two rules, non-text content and name, role and value, so it covers stale alt text and stale accessible names alike. The test is one sentence and worth memorizing. If the text can no longer be used in place of the content without losing information or function, it has stopped being an alternative. Nothing about that turns on scripting. Three shapes produce it. A chart image updated to October with alt text still describing September. Home page photographs rotating daily while their alt text stays put. A script swapping an image source and leaving the alt attribute behind. The first two need no JavaScript at all, and they are what ordinary marketing sites produce, which is why a code review never finds them.

How we find it in an audit

Reviewers interact with every dynamic image and every icon control and listen to what the name becomes. A play button that still says Play after playback started is the same failure as a stale chart. Then we go at it from the other direction, comparing alt text against images that get replaced on a schedule, which is a content job rather than a code one. Automated tools see one moment in time and can confirm alt text exists. Whether it is still true is a question about two moments.

How affected users experience it

The cruelty of this failure is that it looks like it works. There is alt text. It is descriptive, it is well written, and it belongs to an image that is no longer there. A blind reader gets September's numbers presented as October's and has no reason to doubt them, because nothing sounds broken. On a control it costs an action rather than a fact. The button says Play, so they press it, and the thing they were listening to stops.

Passes vs. fails

Passes: alt text names the product. Fails: the file name is all there is.

Passes

slide.src = slides[i].url;
slide.alt = slides[i].description;
// The same edit that changes the picture changes the words.

Fails

slide.src = slides[i].url;
// slide.alt still describes slide 1, three slides later.

How this gets tested

The W3C publishes test rules that define what a checker looks for here.

The other techniques filed under this rule

39 guides on this site are filed under 1.1.1 Non-text Content. W3C documents this one as a failure of that rule, so it describes a way the rule gets broken rather than a way to pass it.

This guide is our interpretation of W3C technique F20: Failure of Success Criterion 1.1.1 and 4.1.2 due to not updating text alternatives when changes to non-text content occur. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.

Go somewhere useful

Find tools, resources and your workspace.

29 destinations