Skip to main content
WCAGrules
Quick navigation

Do not label the same function differently

F31 is a documented failure under the consistent identification rule, and it is the only failure that rule has. A button labeled Search on one page and Find on the next, doing the same job, is the finding. There is a correction to make about the repair, because the obvious version of it teaches the wrong rule. Consistent does not mean identical. The published example is a next-page arrow whose alternative reads Go to page 4 on one page and Go to page 5 on the next, and W3C says plainly that this is not a failure. The rule runs the other way as well. One icon can serve different functions in different places, and where it does, different labels are necessary rather than forbidden. A check mark meaning approved in one place and something else in another should say what it means in each. Consistency alone is also not enough. The labels have to exist and be correct first.

How we find it in an audit

We crawl the site and table every control that repeats, by function rather than by appearance. Search, print, download, next, close, add to cart. Then we read the table down each column looking for drift, which is what turns a hundred pages of markup into one page of evidence. Automated tools can extract accessible names at scale, and that is most of the work. Deciding that two controls share a function is a judgment about what the site does.

How affected users experience it

Screen reader users build a model of a site from what things are called, then navigate by that model rather than by looking. When the same function changes name between pages the model stops working, and somebody has to relearn a site they already knew. It is a small cost applied constantly, which is the kind that ends visits. Someone using speech input pays it more directly, because they say the label out loud, and a label that changed is a command that fails.

Passes vs. fails

Passes: one name, everywhere. Fails: renamed on every page.

Passes

<!-- Every page, same function, same name --> <button>Search</button>
<!-- Consistent is not identical. Both of these pass: -->
<a href="?page=4" aria-label="Go to page 4">Next</a>
<a href="?page=5" aria-label="Go to page 5">Next</a>

Fails

<!-- products.html --> <button>Search</button>
<!-- support.html, same function --> <button>Find</button>

The other techniques filed under this rule

2 guides on this site are filed under 3.2.4 Consistent Identification. 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 F31: Failure of Success Criterion 3.2.4 due to using two different labels for the same function on different web pages within a set of web pages. 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