Level AAPrinciple 3: UnderstandableGuideline 3.2 Predictable

WCAG 3.2.4: Consistent Identification

Updated July 2026Reviewed by Khushwant Parihar, CPACCW3C: Understanding 3.2.4

If it does the same thing, call it the same thing. This criterion requires that components with the same functionality are identified consistently across a set of pages — the same visible label, the same icon, the same alt text, the same accessible name. A function that answers to “Search” on Monday’s page and “Find” on Tuesday’s forces every user to learn your interface twice.

The success criterion, in full

Components that have the same functionality within a set of Web pages are identified consistently.

“Identified” covers every way a component announces itself: visible text, iconography, text alternatives, and accessible names. “Within a set of Web pages” scopes the comparison across the pages of a site — this is a cross-page consistency check, and there are no exceptions.

Why consistent naming matters

Recognition is cheaper than comprehension. Once a user has learned that the disk icon labelled “Save” stores their work, every later encounter costs them nothing — they recognize it and act. Rename it “Store” on the next page and the shortcut breaks: now they must stop, read, and reason about whether this new thing is the old thing. For most users that is friction; for some it is a wall.

Screen reader users are hit hardest, because the accessible name isthe component to them. Searching a page for the “Save” button fails when this template calls it “Store”. Users with cognitive limitations — including people who memorize one term per function, users of symbol-based communication, and people with limited reading vocabulary — depend on stable naming the same way. And users of speech recognition software literally invoke controls by name: “click Search” does nothing if the button is called “Find” here.

There is a corollary the Understanding document calls out: things that do different jobs must notshare a name. If a checkmark icon means “approved” in one view and “task complete” in another, its text alternative must differ to match the function. Consistency binds name to function in both directions.

What must stay consistent

“Identification” is every signal a user might use to recognize the component:

Visible text labels

Button text, link text, and field labels for the same function: always 'Search', not a rotation of 'Search', 'Find', and 'Go'.

Icons

The same function keeps the same icon across pages. Swapping a magnifying glass for binoculars mid-site breaks visual recognition.

Text alternatives

Alt text on image buttons and icons naming the same function should match — and should name the function ('Print'), not the picture ('Printer icon').

Accessible names

aria-label / aria-labelledby values for the same control across templates. Speech-input users invoke controls by these names.

Consistent does not mean robotic. Context-appropriate precision is allowed: a pagination arrow labelled “Go to page 4” on one page and “Go to page 5” on the next identifies the same function the same way. The test is whether a user who learned the component once will recognize it instantly the next time.

Pass and fail examples

One 'Search' everywhere(passes)

Every page's header search uses the same magnifying-glass icon with the accessible name 'Search'. Users recognize it instantly on any page. Passes.

Wizard buttons with contextual precision(passes)

A checkout labels its advance button 'Continue to shipping', then 'Continue to payment'. The identification pattern — 'Continue to <next step>' — is consistent and clearer than a bare 'Next'. Passes.

Same icon, different function, different name(passes)

A checkmark icon means 'approved' in the review queue and 'complete' in the task list, and its alt text differs accordingly. Different functions correctly get different names. Passes.

Download by any other name(fails)

PDF download links read 'Download' in the docs section, 'Get PDF' on product pages, and 'Save file' in support articles — same function, three identities. Fails.

Drifting alt text on an icon button(fails)

The same print function is alt="Print" on one template, alt="Printer" on another, and has no alt on a third. Screen reader users cannot recognize it as one function. Fails.

Code examples

Inconsistent vs. consistent identification

The same search function, hand-coded per template, drifts into three identities. Pin one label and one icon for the function site-wide.

<!-- ✗ Same function, three different identities -->
<!-- home template -->
<button><svg aria-hidden="true">…magnifier…</svg> Search</button>
<!-- blog template -->
<button><svg aria-hidden="true">…binoculars…</svg> Find</button>
<!-- docs template -->
<button aria-label="Go"><svg aria-hidden="true">…magnifier…</svg></button>

<!-- ✓ One identity everywhere: same icon, same accessible name -->
<button type="submit">
  <svg aria-hidden="true" focusable="false">…magnifier…</svg>
  Search
</button>

Alt text names the function, identically

For repeated image controls, the text alternative is the identification screen reader users rely on. Name the function, and keep the name stable.

<!-- ✗ The same print control drifts between pages -->
<input type="image" src="/icons/print.svg" alt="Print" />      <!-- page A -->
<input type="image" src="/icons/print.svg" alt="Printer" />    <!-- page B -->
<input type="image" src="/icons/print.svg" alt="" />           <!-- page C -->

<!-- ✓ One function, one name, everywhere -->
<input type="image" src="/icons/print.svg" alt="Print this page" />

Enforce consistency with a shared component

The structural fix: define each repeated function as one component with its label and icon baked in, so templates cannot improvise.

// download-button.tsx — the single source of identity
export function DownloadButton({ href }: { href: string }) {
  return (
    <a href={href} download className="btn">
      <DownloadIcon aria-hidden="true" />
      Download PDF
    </a>
  )
}

// Every template renders <DownloadButton /> — the label,
// icon, and accessible name cannot drift between pages.

Common failures

  • Synonym drift: the same function labelled 'Search' / 'Find' / 'Go', or 'Download' / 'Get PDF' / 'Save file', on different pages.
  • The same icon function with different text alternatives across pages — or alt text that names the image ('Magnifying glass') instead of the function ('Search').
  • Different icons for the same function between templates, usually after a partial redesign or a mixed icon library.
  • Visible label kept consistent while the accessible name varies (a changing aria-label overriding the same button text), so speech-input and screen reader users get a different identity than sighted users.
  • Two different functions sharing one label — e.g. 'Submit' for both 'save draft' and 'publish' — so users cannot distinguish them.
  • Teams editing copy per page in a CMS with no shared component or style guide, letting identical functions accumulate different names over time.

How to test for 3.2.4

  1. 1

    Inventory the repeated functions

    List functions that recur across pages: search, print, download, save, share, help, cart, next/previous, close. These are the components 3.2.4 audits.

  2. 2

    Sample pages from every template

    Pick pages built from each distinct layout — home, listing, detail, blog, docs, account. Naming drift almost always happens between templates and teams, not within one page.

  3. 3

    Compare visible labels and icons

    For each function, record its visible text and icon on every sampled page. Any arbitrary variation — synonyms, different icons — is a failure. Contextual precision ('Go to page 4' vs 'Go to page 5') is fine.

  4. 4

    Compare accessible names

    Use the browser's accessibility inspector or a screen reader to read each control's accessible name (label, alt, aria-label). The name for the same function must match across pages, and must match what sighted users see.

  5. 5

    Check the inverse: different functions, different names

    Scan for distinct functions sharing one identity — the same icon or label doing different jobs in different places. Give each function its own stable name.

Automated tools cannot compare naming across pages, so this is a manual audit — best done once, then locked in with shared components and a content style guide. Fold it into the full WCAG 2.2 checklist.

Frequently asked questions

What does WCAG 3.2.4 Consistent Identification require?

It requires that components with the same functionality within a set of web pages are identified consistently. If a magnifying-glass icon triggers search on one page, the same function must not be labelled 'Find' with a binoculars icon on another. Identification covers everything that names a component to users: visible text labels, icons, alt text on image controls, and accessible names such as aria-label. It is a Level AA success criterion under Guideline 3.2 Predictable, introduced in WCAG 2.0 and unchanged in 2.1 and 2.2.

Does 'consistent' mean the labels must be identical?

Consistent means users can recognize the same function, which usually means identical — but not always. Context-sensitive variations are acceptable when they serve clarity: a 'Next' button might read 'Next step' in a wizard and 'Next page' in search results without confusion, and W3C's own example allows an arrow icon labelled 'go to page 4' on one page and 'go to page 5' on another, because the function (go to the named page) is identified the same way. What fails is arbitrary variation: 'Search' here, 'Find' there, 'Go' elsewhere for the identical function.

Does 3.2.4 apply within a single page or only across pages?

The normative text scopes it to a set of web pages, so strictly it is a cross-page requirement — the same function must be identified the same way on page after page. Within one page, wildly inconsistent naming of the same function is still a usability problem and often trips other criteria (such as 2.4.6 Headings and Labels if labels stop being descriptive), but the 3.2.4 audit itself compares pages across the site. Note the flip side: two components that do different things should not share the same label either, or users cannot tell them apart.

Does consistent identification cover icons and alt text, not just visible text?

Yes. Identification includes every cue users rely on to recognize a component: the visible label, the icon or image, and the text alternative exposed to assistive technology. A classic failure pattern is the same printer icon carrying alt="Print" on one page and alt="Print this page" on a second — that inconsistency is tolerable — but alt="Printer" (naming the picture, not the function) or a completely different name like "Output" on a third breaks recognition for screen reader users. Keep the accessible name for a repeated function stable everywhere it appears.

Who benefits from consistent identification?

People who learn interfaces through repetition benefit most. Screen reader users recognize functions by their announced names — a stable name means the 'Save' they trusted on one page is the same 'Save' everywhere. Users with cognitive limitations avoid re-deciphering controls on every page; many rely on recognizing a familiar icon-plus-label pair. People who use text-to-speech, symbols, or limited reading vocabulary often have one memorized term per function. Every unnecessary synonym multiplies their cognitive load.

How is 3.2.4 different from 3.2.3 Consistent Navigation?

Both sit under Guideline 3.2 Predictable at Level AA and they audit different dimensions. 3.2.3 is about position: navigational mechanisms repeated across pages keep the same relative order. 3.2.4 is about naming: any components with the same functionality — navigation or not — are identified the same way across pages. A site can pass one and fail the other: a menu in a fixed order whose search button is labelled 'Search' on some pages and 'Find' on others passes 3.2.3 and fails 3.2.4.

Related Success Criteria

Essential Accessibility Resources

Comprehensive tools, checklists, and guides to help you create inclusive digital experiences

Can an AI Agent Use Your Website?

Measured accessibility-tree view of FTSE 100 and UK council home pages: nameless controls, missing alt, unlabelled fields
accessible name
button
View resource

Accessible Name Previewer

See what a screen reader or AI agent will call every control in your markup
accessible name
button
View tool

WCAG Success Criteria Guides

In-depth guides to WCAG Level A and AA success criteria with interactive examples, testing methods, and implementation code
wcag
level a
level aa
View guide

WCAG 4.1.2 Name, Role, Value Guide

Complete guide to name, role, state, and value for UI components: accessible name computation, native HTML vs ARIA, code examples, common failures, and testing
accessible name
View guide

AI Alt Text Generator

Generate accessible alt text for images with AI
alt text
View tool

WCAG 3.2.6 Consistent Help Guide

Complete guide to keeping help mechanisms in the same relative order across pages: the four covered help types, contact and chat placement, code examples, common mistakes, and testing
predictable
level a
View guide