Disclaimer. I'm just an idiot writing things. I literally took two phones and compare them. I guess I missed some stuff in my review. I don't use that stuffso I wouldn't know about it. I guess you could say that's bad journalism. Good thing I'm not a journalist.
Get the popcorn, lovelies. This is a long one.
I've been a fan of Android for a long time. Ever since smartphones became mainstream I've been in the Google camp. Not to imply I have any issues with iOS though. It's a fine mobile operating system. It's competent and does what I need it to do well. I simply prefer the way Android does it.
Of course now due to issues with vision and OnePlus being a little boneheaded I need to buy a new phone. With those changes in vision and every blind person I meet telling me how much better Voiceover is, and even a lot of the smartphone enthusiast communities along with some Googlers telling me the same thing, I decided to check it out for myself. None of the online comparisons gabe me quite what I wanted. They all described the differences well enough but none of them really talked about how it was like using one over the other on a day-to-day basis. I can't own both types of phones for financial and logistical reasons but I can do the next best thing, take each one out for a test drive one at a time and really get to know all of the nuances, quirks, and annoyances.
The phones
On team Android I've got my daily driver, a 128 GB Sandstone White OnePlus 5T. There is one reason I want to replace this phone so soon but I'll get into the why of that later on. A quick overview of this phone: it's got a 6-inch 2:1 OLED display, 2 rear-facing cameras for normal and low-light photos, a single downward-facing speaker, and a clean and near-stock skin based atop Android Oreo at the time of writing. When released it had some of best specs and Android flagship could offer but it's since been superceded by two new phones. Still, it's an excellent value for money.
On team iOS we've got a refurbished 64 GB silver iPhone SE. I picked this up from eBay for just over a Benjamin. It's got some scuffs and scratches and the seller cheaped out and used a plastic face and fingerprint sensor. I'm tempted to go and give them flac for that. As far as the guts go, it's got the iPhone 6S hardware with, in my opinion, one of the best phone bodies evber designed on the outside. Seriously, the designers at Apple really nailed the design of the 5/5S/SE. The only downside is the tiny 4-inch 16:9 LCD display. It's got a single rear shooter which is just fine. This phone also has one downward-facing speaker as well as all the other iPhone essentials including our friend, Jack. I've got this guy fully updated to iOS 12.
Overview
Voiceover on iOS and Talkback on Android are both designed to allow blind and low vision users to interact with smartphones in a meaningful and productive way. Despite the same end goal, they accomplish it in very different ways. Voiceover doesn't just live on iOS, it's part of its core. Everything from the integration with the stock apps to the touchscreen and button gestures has been designed to function with the hardware and software. It's almost graceful in a weird, technological way.
In sharp juxtaposition, Talkback functions more like a desktop screen reader. That is to say that it has more in common with JAWS or NVDA. Whereas Voiceover is neatly integrated into the iPhone's software, Talkback is a separate program that bolts gestures and commands onto the existing operating system. It's clunkier and has less thought put into it. Perhaps a good analogue would be comparing car designers. Voiceover was designed by an artist. The lines are meaningful and carry a message. It's been designed to be seamless and beautiful. Talkback is perhaps the car that was built in CAD by engineers and algorithms. It's not quite as nice but it gets the job done and performs just as well.
Navigation
Speaking of gestures, let's go over the basics.
Starting with Android, to select an element you single-tap and to activate it you then double-tap after selecting it. This is exactly the same on iOS. However the two readers diverge after this. Continuing on Android, horizontal swipes will move to the previous and next element, depending on what direction you swipe. Swiping up and down will change the navigation mode. You can switch between lines, characters, words, paragraphs, links, headings, controls, and the default setting. What default does will change depending on the current context, as will the order and availability of the navigation settings. For example, if you're browsing a web page Talkback will prioritize links and headings in order to make navigating a page easier. If you are editing text then characters, lines, and the like will be near the top of the navigation mode list. One feature I very much enjoy is the ability to swipe on the fingerprint sensor in order to change what your vertical swipes will do. Using this you can change whether you're modifying verbosity, speech rate, navigation, and more. If you're averse to flicking vertically on the screen repeatedly then you can access the local context menu in order to select your navigation mode. This menu also allows you to select your editing tools if you're in an edit box.
Meanwhile on iOS you've got some very different movements. You still swipe horizontally to move between elements but vertical swipes will not change navigation mode.. That's left up to the almighty rotor. I like this. To use it you simply put two fingers on the screen and rotate them about themselves as if you were twisting a bottle cap. You will receive audio and voice feedback to let you know what you are setting. I really like this solution. It's neater than on Android however I find it somewhat awkward on such a tiny display. Personally I like the Android equivalent because it only needs one finger and a one-dimensional gesture. I think this one is entirely up to personal preference but TalkBack performs better here on small displays.
Now to more complex navigation gestures.
In order to swipe to operate sliders or pages on Android you need to perform a two-finger swipe while Talkback is running. Place two fingers at the origin of your swipe and then slide your fingers in the appropriate direction. This means single finger swipes when Talkback is off are done almost identically when Talkback is on. For example, to pull down the notification shade you place two fingers just beyond the top border of the display and then swipe down. To scroll on a webpage or an app you would place two fingers anywhere within the scrollable area and then slide your fingers in the appropriate direction.
On Voiceover this will get you nowhere fast. Scrolling is handled by a triple-finger swipe. iOS divides scrollable elements into discrete pages and does not emulate a normal swipe. You also need to be focused on a scrollable element. On the home screen this means you must be focused either on an app icon that isn't in the dock or on the page indicator near the bottom of the screen. You would then use three fingers to swipe in the necessary direction in order to scroll. When using the browser and other apps you can scroll as long as you are focused on an element contained within the scrollable area.
Both of these approaches have advantages and disadvantages. Talkback lets you make swipe gestures which are indistinguishable to normal swipes for all apps. This means you can be much more precise and use your phone much faster. Of course the issue with this is that it requires a higher level of coordination and muscle memory and just a little bit of guesswork for the more precise swipes. iOS's gesture is much easier to use for people without sight but some features like control center and the notification shade are cumbersome to reach, requiring you to select a status bar element and then swipe down or up, respectively. This is a tough call. Both methods would likely work both for VI and blind users. This one is up to personal preference.
Now we get into some more confusing territory. ANdroid has three navigation buttons: back, home, and multitasking. These are all on screen. Some older phones had physical or capacitive buttons below the display but these have been almost entirely obsolete for a few years now. Even iOS has ditched the home button in exchange for system-wide gestures. Since I have an iPhone SE I will be using the old iOS navigation to compare. I am aware of the newer gestures but I don't have a thousand bucks to drop at the moment so...
On ANdroid you've got three navigation buttons: back, home, and recent apps. Nearly every phone has forgone physical and capacitive buttons below the display and instead opted to have them at the bottom of the screen. Lots of people have been raving about gesture navigation on Android Pie. I don't really get the fuss. I've been using gestures since Nougat. They're Talkback gestures, but still... They're missing out. These may sound a little complicated but it's simply a matter of getting used to them. They've become second nature to me, so much so that it took me some time and more than one try to write out this paragraph describing what each does. Eventually your brain commits it to muscle memory.
All of these gestures consist of drawing an L shape.
Right and down opens the notification shade.
Right and up is vacant.
Left and up opens the recent apps menu.
Left and down is vacant.
Down and right opens the global context menu. Up and right opens the local context menu. Together these two gestures serve as Android's equivalent to the rotor. Using them you can access Talkback and Text-to-Speech settings as well as speaking and editing commands.
Up and left goes home.
Down and left goes back.
Wow, that took a while. I'm amazed at how well I committed these. I haven't actually given those gestures conscious thought for years. I just do them now. I brought up some vacant gestures because there is one key feature about them that I love. You can remap them. Yup, if you like you can switch around what each gesture does and customize it to your own liking.
Anyway let's talk about the iOS side of things. You have a home button.
Press it once to home.
Double-tap it to open the recent apps menu.
Comparing these makes Android sound terrifyingly confusing. It's not, really. In any case the modern iPhones have gestures now so the home button thing is kind of moot. Again though I don't have the cash to drop on a new phone to actually try them out.
Actually, remember how I mentioned slider controls earlier? Well, Android fights back with hardware controls of its own. When in an edit box you can use the volume keys to move the cursor back and forth. You can also use this when focused on a slider. Talkback calls these seat controls. I love this. Oh, you can also toggle Talkback on and off with a press of both volume keys.
As far as comparing iOS and Android here, this one is up to personal preference. Personally I find the extensiveness of Talkback's navigation gestures much more versatile than Voiceover's but some people will definitely value the simplicity of the rotor and a couple of simpler gestures.
Text, editing, and typing.
Let's start with typing. iOS and Android both offer equally abysmal typing experiences here. Typing on a touchscreen without sight is poopoo. iOS wins here by offering an additional typing mode. Both systems allow you to drag a finger until you hear the letter you want and then release to type it but iOS allows you to switch over to a mode that's more reminiscent of the rest of the interface. Single tap a key to select it and then double tap to activate it. This is more relaxed and precise but it's also slower. I hate both but iOS wins here because it offers more than one method. My recommendation is to get a Bluetooth keyboard or use voice typing. That's also a little nicer on iOS--you can double tap anywhere to stop voice recognition when you're done whereas you have to double tap the voice typing button on Android. Android has better voice recognition though, at least when using Gboard.
Now let's talk about editing. This is a bit easier on Android. Between the single finger vertical and horizontal swipes and being able to move the cursor with the volume keys, it's very easy to edit text on Android. Text selection is done via the local context menu. Place the cursor at the start of your selection and then enter selection mode via the menu. Then you simply move the cursor to the end of what you want to select. Then use the keyboard or the context menu to do what you like! You can cut, copy, paste, delete, or replace text. It's easy.
iOS is comparable and actually almost identical, but Android wins here because of how much quicker you can switch navigation modes and the added advantage of being able to move the cursor with the volume keys if you so choose. Text selection is also possible on both. Android wins here solely because it is available without modifying any settings. In iOS you must add text selection to the rotor in the settings app. Once added though they are both very easy to use. Again though I give the edge to Talkback on Android here because of the ability to use the volume buttons. Of course, it is a little less clunky to access text selection on iOS. This one is up to personal preference as well.
The last thing I want to touch up on in this section is navigating through text. Stuff like web pages and such. That thing I've been Touting about using the volume keys on Android? THat only works while in an edit box. Often I forget I can't use them when navigating a website and accidentally change the volume. Again though, both readers are pretty similar here. That is to say that they both read the similar janky, cobbled-together, non-ADA compliant hogwash that comprises most of the world wide Web. I'm concentrating less on gesture differences between devices now because I've already gone over the basics earlier. All of these functions are done through all the various swipes and menus and rotor stuffs that I covered earlier. I consider these high level functions within the screen readers.
I will add though that when you scroll in Chrome on Android, Talkback will almost always hang and do... something, forcing you to wait. iOS did not have this issue.
Voices:
Talkback and Voiceover have their own speech engines. iOS has the Siri voices and Android has the Google Text-to-Speech Engine. Both sound pretty good and it's entirely up to personal preference. iOS offers a wide variety of voices while Android offers very few but allows you to install new speech engines if you don't like what's available. They each have their own little quirks. I personally like Google TTS English UK. I find it to be one of the easiest to understand at a very high speech rate.
Support:
I'm talking about how well these run with various apps and, in the case of Android, on what hardware.
Starting with iOS, it'll run on basically every modern iPhone. I've had no issues with the SE as far as performance is concerned.
Android is a different story though and this is where Voiceover holds the key advantage. Remember when I said OnePlus was boneheaded? Well, they've somehow managed to completely remove the option to pause Talkback. I can't do it. Instead I have to use Android's built-in accessibility shortcut to toggle it on and off. They've also left a bunch of buttons in their skin unlabeled. FOr some reason their dialer is also broken and sometimes when I activate an element it... doesn't activate. This is definitely an exception though. I've never necountered issues this bad on any other Android device. Apathetic developers aside though, the Android platform offers a diverse range of hardware. I've never had a good experience in the cheap handsets. Even the modern Snapdragon 450 systom-on-a-chip is sluggish with Talkback. On the high end, I've not had good experiences with anything below the SNapdragon 820, and I don't even know how the Snapdragon 600-series runs. My hunch would be that the newer ones run it fine but that's not something I feel like testing. I don't think this is a particularly hard pill to swallow though. If you're not technically inclined than the iPhone will give you the experience you want without having to think too much about the internals. iPhones are expensive though. Android's can be cheaper but, as I've established, that can give you issues. Really though, when it comes to accessibility there's no such thing as the budget option. You'll be spending in the high hundreds and low thousands no matter which side you choose. iOS wins here though since you can expect Voiceover to run fine on the older, and significantly cheaper, iPhones.
This paragraph is being added after the rest was written. I dumped my OnePlus for a Galaxy S9+. First off, it's so nice to have a phone with properly labeled buttons. Second off, it seems that the ability to quickly pause Talkback has bee removed from Talkback itself. OnePlus isn't at fault there. I also found out you can't use the fingerprint sensor for Talkback gestures on the Samsung. This is another issue with Android, the lack of consistency with devices. I've never seen an offender like OnePlus but the other manufacturers all have their little quirks as well, Again, none of them break functionality for the blind like OnePlus. Yeah, I am bashing OnePlus. I hope they either get their game together or get sued now that they're partnering with T-Mobile. Anyway, this isn't a Talkback issue. It's an Android issue. Whether you have a disability or not you will be getting consistency from Apple and a distinct lack of it with Android. If you want all your new phones to act the same, regardless if you're blind or not, go Apple. Okay, back to your regularly scheduled post.
Then, of course, there's the biggest, murkiest, most difficult problems to tackle. App support. During my time trying these out I found serious offenders on both sides. Unlabeled buttons on both, side menus that were hard or impossible to slide out with that triple-finger scroll, links that could not be selected with gestures, links that couldn't be accessed with a double-tap (I'm looking at you, Reddit). Apps from huge companies are all pretty good. Apple's and Google's stuff all work. Actually, YouTube has some extra features on Android with Talkback enabled; you can skip forward and back 10 seconds with on-screen buttons and you can hide the video player controls easily. Microsoft's stuff is also pretty good. Reddit is crap on both platforms. Telegram is the worst offender though. Discord is actually better on Android, and that's about the extent of my comparison with apps. I only took a look at the apps I use on a regular basis. Some of them require authentication or purchases so I wasn't able to compare those. This is far beyond what I can cover in this comparison. I wish I could offer more resources here to figure out which OS supported the apps you used better but I don't know if any service.
Conclusion:
Both screen readers are competent. If it's only smartphones that you're looking at then the deciding factor will be which platform has the appps with better screen reader support. If you expand your scope to other accessories like wearables or if you want the same screen reader across multiple devices then Apple is the way to go.
This but is important: Android devices do not have an easy way to enable Talkback without assistance. If this an issue for you than go with Apple. I do need to call out Google here. When setting up a new Android device you can enable the phone's screen reader by tapping the "accessibility" button... which is on the display. Google needs to fix this. It's basically the equivalent of putting an elevator at the top of a short flight of stairs. I do like Android but this issue is bullshit.
As far as Talkback and Voiceover without looking at anything else compare, I believe that both readers are equally competent. Both have their advantages and disadvantages. They each have their own ways of controlling your device. I personally prefer the way Talkback handles its gestures and menus. Some people will prefer Voiceover's gestures and rotor controls. Both support external braille displays. If you decide Android is the way to go then I suggest you stay away from OnePlus and look at Pixel devices for a clean experience and Samsung devices for maximum accessibility features. Talkback is a quick Play Store download away on Samsung phones. They have their own screen reader which has extra gestures but uses the older, and more annoying, Talkback sounds. Samsung is the king of accessibility in the Android world for everything else though but nobody can touch Apple's consistency and attention to detail.
Anyway, that's my comparison of it. Honestly I did this because I got tired of everyone telling me that Voiceover is better. I didn't know what to expect going in. Coming out I now know the strengths and weaknesses of each. Talkback is hot garbage on Wear OS though. Get an Apple Watch or a Samsung Gear Watch if you want a smart watch. Or try and Eone Bradley for something a bit classier.
TL;DR Talkback and Voiceover are screen readers. They're both equally competent and reflect Google's and Apple's design philosophies, respectively. It pretty much boils down to whether you like Android or iOS with a few exceptions regarding app support. Any modern iPhone will do but stick to Google Pixel and Samsung on Android.