1. Overview
When VoiceOver lands on an element, it speaks up to four things. First comes the label, which names the element. Then comes the value, if the element has one. Then come the traits, such as "button" or "heading". Last, after a short pause, comes the hint.
Together the four parts answer three questions. What is this? What state is it in? What happens if I activate it? Voice Control, Switch Control and Full Keyboard Access use the same parts to name and reach each item.
Standard SwiftUI and UIKit controls fill in all four for you. A button with a title has a label and the button trait. A toggle reports whether it is on or off. Problems start when you draw icons, build your own controls or combine views. This lesson shows how to fill in each part yourself.
Unlock the rest of this lesson
You have read the free preview of Labels, traits, values and hints in Module 5: iOS accessibility. The full lesson, its knowledge check and the module certificate come with a plan, bought here on the web.
Buy a plan here with a card and the rest of the course unlocks. You will sign in first, with Apple or Google, which is what the plan is attached to. No iPhone or Mac needed.
Free with no account: the first lesson, Why accessibility, and who it is for, the European Accessibility Act flashcards and the overview of every lesson.
Sources
- Apple Developer, SwiftUI: accessibilityLabel(_:), accessibilityValue(_:), accessibilityHint(_:), AccessibilityTraits, accessibilityRepresentation(representation:) and accessibilityInputLabels(_:).
- Apple Developer, SwiftUI images: Image init(_:bundle:), Image init(decorative:bundle:), LabelStyle iconOnly and accessibilityChartDescriptor(_:).
- Apple Developer, UIKit: accessibilityLabel, accessibilityHint and isAccessibilityElement, for the label and hint guidance quoted in this lesson.
- Apple, iPhone User Guide: Change your VoiceOver settings, for Verbosity and hints. Apple Developer, Accessibility Inspector.
- ETSI, CEN and CENELEC, EN 301 549 V4.1.1 (2026-09), clauses 11.1.1.1, 11.1.3.1, 11.2.5.3, 11.4.1.2, 11.5.2.5 and 11.5.2.7, available from the ETSI standards server.
- W3C, Web Content Accessibility Guidelines (WCAG) 2.2, with Understanding 2.5.3 Label in Name and Understanding 4.1.2 Name, Role, Value, and the Group Note Guidance on Applying WCAG 2 to Non-Web Information and Communications Technologies (WCAG2ICT).