When thinking about accessibility labels and values, it is easy to miss adding information or state that are represented by little visual cues and icons: a checkmark indicating something has been played, a down arrow indicating a downward trend...

5 examples. 1. A Ted Lasso episode with a checkmark should indicate that the episode has been played. Good candidate for the accessibility label of the element? 2. The Time Cook profile on Twitter has an icon, also with a checkmark indicating that the profile is verified and that should be conveyed to the user. The icon of a person preceding the Following word is decorative, so no other info needs to be added. 3. A download icon in a tab bar has a badge with a checkmark. We could add a value indicating that the downloads have finished. 4. Contravariance podcast episode. There is an animated bar equaliser indicating that the episode is being played. There are 30 mins left. There is also a progress bar. Redundant with the minutes left? I think the percentage left is still relevant information for the VoiceOver users. 5. For screen time in iOS, it indicates the percentage differing from last week with an up/down icon that should not be missed.

You may also find interesting...

When using Voice Control, say: "Show names". You'll see all the accessibility labels for interactive elements overlaid on the screen. It will help you identify labels that can be improved, or actually missing. Labels are not just for VoiceOver.

Images can automatically scale for accessibility content size categories, by setting the adjustsImageSizeForAccessibilityContentSizeCategory property to true, for any UIImageView you'd like to get its size adjusted. https://developer.apple.com/documentation/uikit/uiaccessibilitycontentsizecategoryimageadjusting/adjustsimagesizeforaccessibilitycontentsizecategory

Check isReduceTransparencyEnabled to lower transparency. A great example is Spotlight. Not only transparency is removed but it keeps the main color of the background, it feels personalized and contextual but reduces noise and improves contrast.

Created in Swift with Ignite.

Supporting Swift for Swifts