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...

Sometimes, buttons change meaning, for example when toggled. An example is a play button, tap it and it becomes a pause button. In such case, updating its accessibility label will be clearer than trying to convey the change with traits or values.

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.

You don't have to offer an alternative layout just for the accessibility category. You can actually compare content size categories. So you could tweak the UI already for anything equal to or larger than .extraExtraLarge, for example.

Created in Swift with Ignite.

Supporting Swift for Swifts