Third-party custom keyboards were one of the accessibility enhancements that was most anticipated in iOS 8. Unfortunately the current implementation has significant bugs and built-in limitations that make it less useful than hoped in many cases.
This article provides a general overview about what third-party keyboards can and can’t do and what bugs are currently present. Future articles in this series will examine specific custom keyboards for their accessibility features.
Custom keyboards were one of the things that I was personally wishing hardest for in terms of iOS 8 accessibility, and I was happily surprised when Apple announced that they would be included in iOS 8. On my Mac I use a Dvorak keyboard layout to type and switching back and forth to between Qwerty and Dvorak is a layer of mental overhead I don’t need if it’s avoidable. I am also quite fond of the slide/swipe type of text entry so the idea of a keyboard where that is available is very attractive …
Limitations Of Third-Party Keyboards
Apple has built limitations into third-party keyboards that aren’t present in the Android platform. These aren’t random decisions by Apple – each limitation has very specific reasons for existing and most of the limitations are there to protect your security and privacy. Nevertheless, even very sensible limitations do mean that third-party keyboards can’t do as much for accessibility on Apple’s platform as they can on Android.
Autocorrection and Word Prediction
The first limitation is that third-party keyboards can’t use Apple’s QuickType autocorrection and word prediction. Third-party keyboards are free to implement their own autocorrection and/or word prediction – and many of the most popular choices do – but third-party predict/autocorrect don’t have as much access to contextual data as Apple’s own system seems to. Apple’s documentation of QuickType says that it knows which application you are using and who you’re talking to:
Third-party autocorrect and word prediction implementations can never “know” which app you are using or who you’re talking to because this would potentially let the keyboard creator’s spy on your actions. Third-party autocorrect/prediction could in theory choose to modify it’s predictions according to your current writing style at any time because they do have access to the keys you’ve pressed, but I don’t know if any keyboards actually do that at the moment.
Text Selection and Insertion Point
Custom keyboards cannot select text or move the insertion point (cursor) for you – only the app you are using is allowed to do this. This means that, for example, a custom keyboard could not implement the “arrow keys” which are found on a regular hardware keyboard and it could not add keys to cut, copy, or paste text.
In apps that provide an editing menu interface when you TODO clarify is this just the cut/copy/paste when text is selected or is it the select/select all/etc too?
Dictation / Siri
Third-party keyboards have no access to the device’s microphone, so they can’t let you dictate input – a big accessibility loss.
This means that Siri’s dictation speech-to-text functions are not available when you are using a third-party keyboard, but they also can’t offer their own third-party dictation functions as some Android keyboards do.
For the geeks out there, Apple’s developer documentation on third-party keyboards has more details of what is not allowed/available.
Bugs In iOS 8’s Third-Party Keyboard Handling
Those limitations aren’t a huge deal in many cases, but the bugs that iOS 8 still has in handling third-party keyboards are also a big problem.
iOS 8.1 was released the morning before this article was due to be published and it seems likely that some of these bugs are fixed, but I haven’t been able to check them all. I’ll come back and update this article as more information becomes available…
Keyboard Reverts To Default
Your third-party keyboard is meant to automatically switch you back to the default Apple keyboard in three specific cases:
- When you are entering a password
- When you are entering a number and only have access to a 9-key keyboard
- When you are using an app which specifically prohibits third-party keyboards for security reasons (e.g. a banking app may choose to do this)
These are intended by Apple to happen and as soon as you stop doing this your third-party keyboard should reappear – this is normal.
What is not normal is if your custom keyboard switches back to the default Apple keyboard after you unlock your phone with a passcode. This is a known iOS 8 bug affecting some – but not all – people. I haven’t experienced this bug myself so I can’t verify if it’s still present in iOS 8.1.
You can work around this bug by opening the keyboard list in Settings > General > Keyboards and removing everything except your chosen keyboard from the list if you only ever intend to use your third-party keyboard, but obviously this workaround is no good for users who want to also use the Emoji keyboard or any other language keyboard.
Messages / Reminders Bug
If you bring up a third-party keyboard in the Apple’s own Messages or Reminders app and you already had a full screen of messages/reminders, the keyboard will cover the bottom section instead of your screen’s contents scrolling up.
I have verified that this bug still occurs for me in Reminders with iOS 8.1, but it seems to be fixed in Messages in most cases at least.
VoiceOver Direct Touch Bug
In iOS 8.0.0 and 8.0.2 there was a bug which prevented VoiceOver users from using direct touch to type when a third-party keyboard was active, but this bug has been confirmed to be fixed in iOS 8.1 and should no longer be a problem.
Guided Access Bug
Most significantly for accessibility, there is a nasty bug affecting some Guided Access users where a third-party keyboard will fail to load at all when Guided Access is turned on. If this happens, you will just see a light grey rectangle where the keyboard should be.
Unfortunately the only fix for this bug at present is to turn off Guided Access – obviously not possible for some users.
This bug was definitely still present in iOS 8.0.2 and I am uncertain of whether it’s fixed in iOS 8.1 as I haven’t experienced it myself.
Buying Custom Keyboards
If you are searching for custom keyboards in the iTunes Store, be careful of apps which promise custom keyboards but their custom keyboards only work inside their own app (as was always the case before iOS 8). They’re not always easy to spot.
You can’t see from just looking at the icon, unfortunately. Once you open the app’s individual page there are three places you may find clues:
1. The title. Some but not all of these apps will have “iOS 7” or “iOS 7.1” or similar in the title.
2. The description. Apps of this form are supposed to make this clear in the description, but it can be buried in a wall of text and not easy to find.
3. The information block. Apps which are real iOS 8-style custom keyboards will always have “Requires iOS 8.0 or later” in their compatibility listings.
Even with all those caveats, third-party keyboards are something that have huge promise for improving accessibility in iOS 8 and beyond. Future articles in this series will examine specific custom keyboards for their accessibility features – which keyboards would you most like me to review for accessibility?
For myself I decided that right now it wasn’t worth the hassle – especially as I have to deal with the Messages/Reminders bug many times each day – so I am using Apple’s own QuickType keyboard for now. But for many other users, custom keyboards are the best option and hopefully one that will continue to improve over time.
I also recommend, for those who like to have a book to help them learn things, the iOS 8 Crash Course from Take Control Books. It’s a general ebook – not specifically related to accessibility features – but Take Control stuff is always good value.