RapidValue Solutions
4 min readJun 21, 2016


Apple VoiceOver — The Advanced Screen-reading Technology

VoiceOver is a part of Apple’s accessibility features. It is a gesture-based way which enables your iPhone to speak what is written on your screen. VoiceOver, Apple’s innovatory screen-reading technology, gives users the control over their devices, without having to see the screen. It acts as an intermediary between the application’s user interface and the user’s touch, providing audible details of elements and actions in the application.

This feature is useful, especially for the visually impaired. Visually impaired users can rely on VoiceOver to help them use their devices. When VoiceOver is active, users need not worry about the accidental deletion of contact or dialing a phone number by mistake, since VoiceOver navigates them through the interface, what actions they need to take, and what will be the results of those actions.

Using VoiceOver on iPhone and iPad

VoiceOver changes the gestures in iOS to make it easier for users (especially visually impaired) as they get to know what they’re tapping on before they actually, select it. VoiceOver can be controlled with the help of simple gestures:

  • Single tap anywhere on the screen and the iPhone or iPad will speak aloud the item that you are tapping on.
  • Double tap on an item to select it.
  • To scroll through a page, use three fingers.
  • Double tap with three fingers to toggle speech commands, on and off, from the Lock Screen.
  • A two finger double tap, while executing an event, will start or stop that event. For example, during phone call, double tapping the screen with two fingers could end the call.

Adding Accessibility Support

For VoiceOver to be useful, an accessible user interface element must give accurate and helpful guidelines about the screen position, name, behavior, value, and type. VoiceOver imparts this information to the users. The iOS SDK contains programming interface and tools that help to ensure that the user interface elements in application is both, accessible and useful.

Accessible elements have three primary properties — Accessibility Label, Accessibility Hint and Accessibility Trait. There are three, further, accessibility properties — the Accessibility Frame, which defines the element’s position and size on screen, the Accessibility Value which provides the element’s present value as a string and the Accessibility Language which states the language in which to impart the item’s accessibility information. VoiceOver support for a device can be turned on from the Settings application (Settings > General > Accessibility > VoiceOver).

Properties and Usages

  • isAccessibility Element — It acknowledges what element can be focused when VoiceOver is enabled. The default value is set to NO unless the element is a standard UIKit If a custom control or view is made accessible to users, then IsAccessibilityElement should be set to YES.
  • Accessibility Label — A brief localized title or name for the item. It should never contain information which belongs to the accessibility traits, such as the type of the item.
  • Accessibility Hint — A brief and localized phrase that describes the result of an action on an element. The hint will be dictated after a brief pause, once the label and traits have been stated. This allows users to navigate to another element quickly, or to wait and hear the full hint.
  • Accessibility Traits — These are features of the item’s nature and behaviour which are applicable to accessibility. Commonly used traits are:

– Button: This trait indicates that the element is a button.

– Link: This trait indicates that the element is a link and upon interaction with the element will cause an URL to be launched.

– Image: This trait indicates that the element is an image.

– Selected: This accessibility trait indicates that the element is selected at present, and is dynamically, applied, based on the state of the control. The selected trait is suitable for highlighting the preferred row in a table, the selected segment in a segmented control etc.

UI Changes

The iOS user interface is dynamic. It renders a method for developers to let the user know that “something occurred” using VoiceOver. UI change notifications are of three types:

  • Screen changes: Usually, when a user navigates into different parts of the application, VoiceOver notifies with a tone. It clears the cache and does other preparation to deal with a new set of data.

UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil);

  • Layout changes: This is posted when the layout of a screen changes, for instance, when an element appears or disappears. This notification includes a parameter, which will be, either, an object of NSString that VoiceOver speaks or an accessibility element that VoiceOver moves to.

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil);

  • Dynamic changes: This notification tells VoiceOver to read out to the user, if user interface is dealing with some dynamically, changing information (state changes, data changes, etc.). This is also, useful for communicating any sort of significant change in your app (like “Loading complete,” “Connected to server,” etc).

UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @”Loading complete.”);


Apple VoiceOver is an assistive technology which comes pre-loaded on all iOS and OS X devices. It turns your iPhone into a speaking and guiding device. Every application, icon and action is illustrated with the help of words. The feature, which is found under Setting/General/Accessibility, has proved to be an extremely useful and effective one. After turning it on, you will find that your iPhone is, literally, narrating its entire existence.

Have you used this feature on your phone? How has your experience been?


Silpa M.S

iOS Application Developer, RapidValue Solutions



RapidValue Solutions

RapidValue is a leading provider of end-to-end mobility, Omni-channel, IoT, AI, RPA and cloud solutions to enterprises worldwide.