Skip to main content

Button Element Capitalisation Check

Button labels in iOS apps should follow standard capitalisation conventions to ensure VoiceOver reads them naturally and consistently.

WCAG Reference

Maps to: WCAG 3.1.6 Pronunciation | Applies to: WCAG 2.0, WCAG 2.1, WCAG 2.2 Introduced in: WCAG 2.0 | Level: AAA | Read the official specification →

What this rule checks

The scanner flags button labels that use all-uppercase text (e.g., "SUBMIT"), all-lowercase text (e.g., "submit"), or inconsistent capitalisation that affects VoiceOver pronunciation.

Why it matters

VoiceOver may spell out all-uppercase labels letter by letter (e.g., "S-U-B-M-I-T" instead of "Submit") depending on the speech engine. Inconsistent capitalisation creates an unpredictable listening experience.

Common failure patterns

  • button titles set to "DELETE" or "CANCEL" in all caps
  • labels that use lowercase for stylistic reasons ("learn more")
  • inconsistent capitalisation within the same screen ("Submit" on one button, "SAVE" on another)
  • uppercase applied through code (uppercased()) rather than styling

Remediation guidance

  • use title case or sentence case for button labels ("Submit Order", "Learn more")
  • if visual uppercase is desired, apply it through UIButton.Configuration text transform or CSS text-transform rather than changing the actual text string
  • ensure the accessibility label uses natural capitalisation even if the visual display is uppercase
  • test with VoiceOver to confirm buttons are spoken as words, not spelled out

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

Book Demo

Help and Support

Related Articles