Chris
Chris

Reputation: 5484

Is it possible to write new accessibility services for iOS?

Is it possible to write new accessibility services for iOS? It's easy to find info about how to make write apps so they are accessible, but I want to write a new service that has capabilities like a screen reader would have, and that works with existing apps.

From what I can tell, it's possible on Android with the Accessibility Service, on Windows with UI Automation, and OS X with Accessibility Framework. But I can't figure out if iOS has a similar capability.

Upvotes: 1

Views: 1779

Answers (2)

Adam Hoffman
Adam Hoffman

Reputation: 75

The short answer is no. The long answer is what you are asking to do is a system utility and on the iOS platform developers are only allowed to write applications that are for the most part sandboxed I.E. they can only interact with themselves or apps by the same developer. They are forbidden from accessing data from other apps on the device. Developers also have no access to what so ever to system files that control things like font size and text to speech. Apple exercises tight control over their OS to maintain a stable platform.

Hope this answered your question!

Upvotes: 2

Aaron Brager
Aaron Brager

Reputation: 66244

You can't define a new system-wide service, but you can customize the existing services pretty heavily in your apps.

You can disable the default accessibility controls for a view:

view.accessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction;
view.isAccessibilityElement = YES;

You can use the informal accessibility protocol to define your own VO cursor frames, and post UIAccessibilityLayoutChangedNotification notifications to make VoiceOver speak.

Upvotes: 1

Related Questions