You may know that you can configure a UI component with an accessibility label. The accessibility label is the name of the component. You can also configure an accessibility trait. The accessibility trait is the role of the component, it gives the user information on how they can interact with it. When using VoiceOver, the trait is usually vocalised after the accessibility label.

Every UI control in your app has an accessibilityTraits property (which is part of the UIAccessibility protocol). Under the hood, it is a bitmask that defines which ones of the different accessibility traits available better describe the…

The cycle for creating great accessible apps starts and ends with testing. Sure, it is always better to get feedback from users to create an experience that holds up to their expectations. But that’s not always possible. Till you can do it, I think the way to go is to do your best. Build it as well as you can, then gather all the feedback you can get, apply the suggestions, test, repeat.

Therefore, you’ll probably have to start by self-auditing your app to try to find any potential issues or improvements, and after doing any changes, check that your…

I know, iOS 13 has been with us for quite some time now, WWDC 2020 is just around the corner and we hope Apple will present again a ton of new accessibility features and improvements coming with iOS 14.

But it is almost Global Accessibility Awareness Day! And it is still a great time to catch up and implement everything new that was presented around accessibility in iOS 13 - it was a packed year! - so you are even readier to adapt your apps and fully embrace iOS 14. …

Just a few days ago, at the time of writing this post, WhatsApp released the possibility of sending stickers in our chats. To be able to do it, you just need to update your app to the latest version. But what’s much more interesting for us is that, is that it is possible to create third-party sticker packs. …

Apple introduced iOS 11 at their World Wide Developer Conference (WWDC) in June 2017. WWDC is Apple’s showcase of new tools and developer APIs covering iOS, macOS, watchOS, and tvOS. In this post we’d like to show you what’s new in accessibility in iOS 11, and how you can incorporate these features to make your app more accessible to your users.

If it is your first time reading about Accessibility in iOS, Apple has a pretty good definition for app accessibility:

An accessible app is one that can be used by everyone — including those with a disability or physical…

Image for post
Image for post

When reading documentation about Design Patterns or Design Principles, I find that most of the times the examples are created to be really simple, just enough to understand the essence of it. The inconvenience of this approach is that, then, lots of times you don’t see a real application of what it is explained. And, because of that, it is quite hard for you to see how you could apply those principles and patterns in real life with real problems.

The other day I started to develop an Apple TV weather app to both practise Swift and learn how to…

Image for post
Image for post

Per a un principiant en Swift, els opcionals poden ser la primera pedra en el camí que et pots trobar. No sols pel concepte (és només un tipus que pot tindre un valor o no tindre’n cap), però perquè té una sintaxi molt particular. Per fi ens hem pogut oblidar dels corxets (pareix que la paraula correcta és claudàtor 😆) i de moltes de les ‘@’ del nostre codi en Objective-C que no entenia ningú, però aneu preparant-se per a vore uns quants caràcters ‘?’ i ‘!’ de lo més curiosos.

Declarar un opcional és fàcil. Imagina que necessites una…

Image for post
Image for post

For a Swift newbie, optionals can be the first bump in the road you may find. Not just because of the concept (it is a type that handles either a value or the absence of it), but because of a very particular syntax. Yes, we finally got rid of all our Objective-C like square brackets and most of the ‘@’ symbols of our weird code, but be prepared to see some funny ‘?’ and ‘!’ characters.

Declaring an optional is easy. Imagine you need a struct for storing names. Everyone has a forename and one or more surnames, but the…

Dani Devesa

Software Engineer — #iOS @Spotify. I wrote a book: “Developing Accessible iOS Apps”. Opinions are my own.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store