The Problem With Accessibility Events in iOS 12.2
My Twitter has been aflame this week with people Tweeting about a recent update from Apple which introduces a new feature called Accessibility Events in iOS 12.2. Their reason is to:
allow websites to customize their behavior for assistive technologies, like VoiceOver. Enabling Accessibility Events may reveal whether an assistive technology is active on your iPhone.
This might seem like a positive change, one that will enable developers to create better experiences for all their visitors and users, but it comes at a price.
One of the major problems that people have with this feature being used as another metric to digitally fingerprint people for tracking. Right now we're in a world where people are becoming ever more aware of the negative aspects of tracking, and where it's even forming parts of GDPR laws which affect people across the globe.
What is Digital Fingerprinting?
In order to effectively track a person across the web and serve them targeted advertising based on things they've been looking at, you need a way to identify them across the variety of different websites and pages they visit. Traditionally this has been done with cookies set by the advertising domain. Any page with adverts from that domain now knows its you visiting, and can build up a more detailed profile of information on your preferences.
The problem with cookies is that they're pretty volatile. Some browsers have options to delete cookies when you exit the browser, the major browsers have ad-blocking plugins to block ads and remove cookies, and some antivirus programs will even scan for tracking cookies.
Digital fingerprinting takes a different approach by looking at the wealth of information your browser provides, from browser name and version, your operating system, the language your computer is set to, screen resolution, installed fonts and plugins, and much more. Apple recognised this when they removed the Do Not Track feature from Safari citing privacy concerns due to it being used (ironically) as another metric by which to fingerprint and track people.
Laura Kalbag highlights this as a baffling decision from Apple and I agree. It seems odd that they are introducing a feature which can also be used in this manner, especially given their previous choice to remove the DnT option.
To make matters worse, their accessibility events feature is enabled by default, and with little publicity from Apple about this, it's fairly undiscoverable, meaning few users will know about this and how to disable it.
Altered User Experience
The second problem with this feature is that it enables developers to detect assistive tech and change the content offered to that person. Initially this seems like it might be a good thing. To a well-meaning but naïve developer, it is a way in which to offer accessible versions of content which was created badly in the first place. Marco Zehe wrote about the problems of alternative accessible content 5 years ago, and his arguments still hold true today.
This problem reminds me of the situation we find ourselves in the mobile web browsing on a frequent basis. Often, mobile users are given a very stripped back experience, with a lot of content removed. The developers argue this is because "users don't want to do all those things on the move, they'll do them on their desktop", and "those videos are too large to download on a users data plan". While the assumptions seem logical, they don't make much sense and contradict real user behavior; people spend more time on their phones than a desktop/laptop and are most often connected to a wifi network (e.g. at home, work, in a coffee shop, etc). The change by Apple will create more confusing situations like these, potentially resulting in anyone relying on screen readers to be given a sub-par experience. They'll be penalised for being disabled.
Léonie Watson puts this well in a blog post (also from 5 years ago) where she talks about text-only websites, and poor design decisions.
Maintaining Duplicate Versions of Content is Hard
Even if it were possible to give all users access to all the content, using dual streams to offer those people relying on assistive tech a more accessible version, you're creating a recipe for disaster. That content will inevitably become out of sync at some point. It's already a problem in other areas of development. We're told to avoid obvious comments in our code because the code should have been readable without it and comments quickly become outdated as maintenance work is performed.
What We Can Do
If you're concerned about the privacy implications of your Apple device then you can disable it in
As a developer, just don't use this feature to change what you give your visitors. Browsers today are great at offering users the a great experience with screen readers and other assistive tech if you write clean and standards-compliant code. Use accessibility best practices, and use ARIA as a last resort when all else has failed. If you use it, you legitimise it, and make it more difficult to remove in the future.