In October, Apple announced the Apple Watch. The blind all wondered if it would have some version of VoiceOver, the screen reader which they have on all their other products. The demo showed interaction with Siri, but Apple never made mention of accessibility, and apparently no journalists thought to ask. Since all of Apple’s other products have accessibility built in it seemed logical to conclude the Apple Watch would as well.
Today Apple released WatchKit, the API which allows programmers to write apps for the Apple Watch. I feel glad to report that it includes some accessibility features. The information in this article comes from the iOS 8.2 diffs and the WKInterfaceObject reference documentation. Thanks to Jonathan Campbell of Access Ninja for pointing them out.
Before getting into WatchKit, you must first understand how a regular iOS app works. The screen of an app has a collection of views. We call this a UIView. Every label, button, image, etc. descends from UIView. Thus, if you can set a property on a UIView you can also set it on a UILabel or a UIButton. This includes accessibility attributes.
A standard iOS object has a number of these attributes. These include the accessibility label, accessibility hint, accessibility value, accessibility traits, and others. A programmer can define these to improve how VoiceOver interacts with their iOS app by calling methods, pieces of code which execute a function on an object.
Now we can move on to an Apple Watch app. The WKInterFaceObject forms the basic element in an app. It roughly corresponds to a UIView. Descendants include things like WKInterfaceLabel for a text label and WKInterfaceButton for a button. These act similarly to a UILabel or UIButton. A WKInterfaceObject has a property name, a width and height, and yes, accessibility attributes.
A WKInterFaceObject includes the setAccessibilityLabel, setAccessibilityHint, and setAccessibilityValue methods. The label tells VoiceOver what to read. A hint can provide additional information. The value can contain the value of something like a slider. iOS has these exact same methods.
While we have yet to see any demonstration of the Apple Watch’s accessibility features, these methods in the basic WatchKit interface object prove they exist in some form. I can’t wait to include them in motion-accessibility. We still do not know how a VoiceOver user will interact with these elements, but we know that the capability exists. If anyone can figure it out, Apple can. We know the Apple Watch has a speaker and the other necessary components to make an accessible interface. In fact, the forced simplicity of the design should work very well for the blind. I believe that the Apple Watch could become the next big thing for the blind since the iPhone!