Skip to main content

Duplicate Accessibility Label

Interactive iOS elements within the same screen must have unique accessibility labels to avoid confusion when multiple controls sound identical to VoiceOver.

WCAG Reference

Maps to: WCAG 4.1.2 Name, Role, Value | Applies to: WCAG 2.0, WCAG 2.1, WCAG 2.2 Introduced in: WCAG 2.0 | Level: A | Read the official specification →

What this rule checks

The scanner identifies multiple interactive elements on the same screen that share the same accessibility label, making them indistinguishable to VoiceOver users.

Why it matters

When VoiceOver announces two buttons as "Edit" without any additional context, users cannot tell which one to activate. Unique labels enable users to confidently choose the correct control.

Common failure patterns

  • list cells each containing an "Edit" button or "Delete" button with identical labels
  • multiple "Close" buttons in a screen with several dismissible panels
  • icon buttons that all share a generic label like "Action" or "More"
  • navigation items on different sections of a tabbed interface with the same label

Remediation guidance

  • include context in the label: "Edit shipping address" vs. "Edit billing address"
  • for list items, append identifying information: "Delete order #1234"
  • use accessibilityLabel with specific context rather than generic action words
  • in SwiftUI, use .accessibilityLabel("specific description") to override default labels
  • test by having VoiceOver list all actions on the screen and confirming each is distinguishable

Test across 3000+ combinations of browsers, real devices & OS.

Book Demo

Help and Support

Related Articles