So, let’s try to understand the steps that need to be taken to launch and initially configure the accessibility tools of the Android operating system, as well as get acquainted with those platform features that may be unusual for inexperienced users of mobile devices.
Modern trends in the development of the industry of mobile devices are such that now it is not expected to fully work with the device of an anonymous user, as it was possible 5-7 years ago. This does not mean at all that the provision of personal data is implied, while it is only about the need to authorize remote services in the system, at work with which most of the device’s functionality is tied. In the simplest version, the requirements are not at all higher than the need to specify an E-mail for registration on various sites.
About the use of Android OS, this means that the user must have a Google account to work with many of the system’s functions. Moreover, this can be either a newly issued account or an account that was registered several years ago, in general, before the Android system appeared.
An account of Gmail, AdSense, AdWords or any other Google service is suitable as such an authorization, besides, since March 2012, they are all governed by a single set of rules.
This account is required, at a minimum, to work with the Market application store, as well as for many secondary operations, such as synchronizing contacts, calendar entries, and others.
When you first launch those functions that require user authorization, the Android system will prompt you to either enter an existing one or register a new account.
Account data entered in one place of the system, for example, Market, Gmail or Youtube, is automatically saved and begins to be used in all other services of this kind. Of particular note is the fact that an account previously entered into the system with which some device data is associated, for example, mail, installed applications, and so on, cannot be routinely deleted without formatting the system. Nevertheless, there is a possibility of this operation without formatting, but it implies obtaining root access rights for the device and manually deleting configuration files from a closed area of the file system, which is not a trivial task and is not always allowed by manufacturers’ licenses.
Thus, if it is supposed to use an Android device not only as a phone or a multimedia player, then the user authorization procedure can hardly be avoided and the presence of a Google account will be a prerequisite.
Installing and Configuring Accessibility Tools
Formally, Android OS developers declare “built-in” support for accessibility, but in fact, this statement is not true or, at least, requires several reservations.
First, the built-in text-to-speech service only supports six languages: English (US and British), French, Spanish, Italian, and German. For everyone else, the user must independently search the Market for appropriate synthesizers, which, moreover, are often distributed on a commercial basis and have additional system requirements.
Secondly, in most cases, the software for the implementation of the accessibility functionality is initially absent on the device, therefore it requires downloading from the Internet and, as a result, the preliminary configuration of wireless networks.
Third, due to certain limitations of the accessibility technologies used, not every hardware that runs Android OS is suitable for non-visual use.
All this in practice leads to the situation that launching the Android OS accessibility tools without minimal visual control is almost impossible. Therefore, the algorithms below are intended either for the sighted or for theoretical study to form general ideas that can later help guide a sighted assistant (for example, a consultant in a store) on the right path.
In rare cases, the TalkBack screen reader is already installed on your device. Then, to activate it, it is enough to check the corresponding “TalkBack” checkbox in the “Settings”> “Accessibility” menu. Nevertheless, this is typical for an absolute minority of all devices on the market.
As a rule, to enable screen voice access, you must first select the Accessibility checkbox in the “Settings”> “Accessibility” menu, after which Android will offer to download the necessary components from the Market. ” and configuring wireless networks should already be done.
The system automatically downloads only the TalkBack screen reader. Alternative software in this category, such as Spiel or Mobile Accessibility, must be downloaded from the Market by the user himself.
Note that the English word “spiel”, in addition to the meaning of “chatter, idle talk”, which was implied by the creator of the screen access program of the same name, also has a slang meaning, which in Russian sounds like “bang”, that is, actively play some kind of computer game (and the German Spiel – a game – must also be taken into account). The consequence of this is the situation when the query “spiel” in the Market produces a long list of game applications that contain this word in their name. To quickly find the Spiel screen reader in the Market, we recommend entering the more specific query “Spiel screenreader”.
Any of the screen readers installed in the system places its flag in the “Settings”> “Accessibility” menu and their launch is carried out by activating the corresponding flag. At the same time, the system displays a security dialogue, where it warns of the possible consequences of such an action. To still activate the checkbox, in this pop-up window, confirm the operation by pressing the “OK” key.
Activating multiple checkboxes at the same time does not create a conflict between screen readers that are generally capable of running in parallel (such as TalkBack and Spiel) or prioritizing (such as Spiel and Mobile Accessibility).
If the user only needs to support the languages listed above for work, then this stage of adaptation of the Android device is, in principle, not necessary. However, for the synthesis of speech in Russian, you will have to install additional voices, therefore, for the readers of this article, most likely, it is inevitable.
Here, attention will be paid to the general issues of the speech synthesis function of the Android platform.
The text-to-speech options are found in Settings> Voice Input & Output> Text-to-Speech Settings. There are at least the following points here:
- Listen to an example – a button that, when pressed, plays a demo phrase of the default text-to-speech system.
- Only my settings – a checkbox, when activated, in all programs using TTS, only general system settings are used, ignoring minor directives of the program itself.
- Default System – A menu where you select the default text-to-speech system.
- Install voice. data – a menu for additional settings of the selected TTS system (this item is intended so that the TTS system, if necessary, can download additional voices via an Internet connection; not supported by many systems).
- Speech Rate – a menu for adjusting the speaking rate on a five-way scale: Very Slow, Slow, Normal, Fast, and Very Fast.
- Language – a menu for selecting a language from a list of those supported by the TTS system selected in paragraph 3.
- PICO TTS is a settings menu for the built-in TTS service that supports the above six languages.
When installing additional systems of speech synthesis, for example, SVOX Classic or eSpeak for Android, new items appear in this menu at the bottom.
At a minimum, each installed third-party speech synthesis system puts a checkbox in this menu to enable it, without which it will not be available in the section for selecting the default speech synthesis system. Individual TTS systems can also have their menu for additional settings, for example, this is how SVOX Classic is implemented, which has not only an enable checkbox, but also a second item for more detailed settings.
Thus, to use a third-party speech synthesis service, install it on the device, check the activation of the corresponding checkbox and select this voice engine either in the settings of the entire system, or, if the second checkbox from the above list is cleared, in the settings of the TTS program used, for example, Spiel …
Performing the actions described in the previous two sections of the article, in principle, will already give a sound Android OS interface. Nevertheless, for the most complete use of existing accessibility technologies, it is desirable to carry out additional system configuration.
Firstly, TalkBack and Mobile Accessibility users are provided with the functionality of additional touch keyboards, which, in some cases, provide the ability to enter text in edit fields directly from the touch display (an edit field means such a GUI element as edit box).
To activate this feature, go to Settings> Language & Keyboard, and here check either the Mobile Accessibility or TalkBack Keyboard checkbox. In addition, below is the “TalkBack Keyboard” button, by pressing which opens the settings menu for the corresponding function. The Mobile Accessibility keyboard is configured through the home screen of this application: “Settings”> “Text input”> “Virtual keyboard”.
Second, the TalkBack and Spiel screen readers are not just “abstract checkboxes in accessibility settings.” Each of them is a full-fledged application, configurable for the needs of the user. However, initially access to these settings is not possible.
To be able to change the settings of these programs, the user must install the free Accessibility Preferences application. In its menu, in particular, there may be items “TalkBack preferences” and “Spiel preferences”, through which you can access the settings of the corresponding screen reader programs. Also here you can find the “Keyboard shortcut preferences” item, which allows you to set hotkeys for some actions.
First of all, it should be noted that the Android operating system does not have a rigidly specified interface, since its license provides ample opportunities for general OS refinement, which the vast majority of mobile device manufacturers use with success. The consequence of this is the situation that the same versions of Android on devices from different manufacturers have different shells, which impose additional specifics of use.
For example, the HTC Sense shell offers access to applications directly from the lock screen, Timescape calls basic functions in any menu via shortcuts in the corners of the screen, and TouchWIZ controls the phone without moving your fingers only based on a gyro sensor. Even the same actions can be performed differently on different shells. For example, on HTC Sense, the screen is unlocked by dragging the bar down the screen, on Timescape by moving from left to right at the bottom of the display, and on TouchWIZ by dragging a point from the middle of the screen to any edge.
Thus, it is almost impossible to give any universal recommendations for performing certain basic actions on a device, because the algorithm will vary depending on the Android shell used.
Given this, in this article, we will not focus on step-by-step descriptions of the solution of one or another typical problem but will focus on an overview of the general architecture of the Android platform interface, mainly by considering such global elements as the home screen and the Search function.
The home screen is similar to the PC desktop but is a somewhat broader concept. The system has at least one home screen, which contains program shortcuts and graphic widgets, and additional settings in the menu. However, Android also allows third-party home screens to be installed.
There are home screens with advanced features or specific functions, for example, the Eyes-Free Shell home screen (since January 2012 in the Russian interface it is displayed as “Sensor”), designed specifically for blind users.
However, the home screen may not necessarily be a mobile desktop counterpart, that is, a simple area for placing program shortcuts. For example, the Mobile Accessibility workspace is also designed as a separate home screen but internally has a fixed structure.
If several home screens are installed in the system, then by pressing the Home key (home), a list of them will be displayed, and this list also appears when the system boots. At the bottom of this list is the “Default for this action” checkbox, which can be used to set the default home screen. After that, when you click on Home, this particular screen will be loaded, as if it were the only one in the system.
The Search function is another prominent feature of the Android interface. Conceptually, it is similar to the updated Start menu of OS Windows 7, that is, the user enters the information he is interested in, and Android offers options for finding it.
In the Search settings, you can set the so-called “search sources”, which can be the Internet, application names, contact names, message text and much more.
For example, if the Internet, applications and contacts are specified as search sources, then the user, having entered some text, will receive a sentence:
First, to search for this text on the Internet, if you agree to that, it will open a page with Google search results for this request.
Secondly, launch those applications, the name of which contains the entered text.
Third, open contacts whose names contain the entered text.
All available options are displayed in the form of a list, which will be corrected as you enter new characters in the search bar.
Thus, the user does not need to navigate through the shortcuts and widgets on home screens, which often requires a dozen keystrokes. It has an alternative ability to find the information you need, contact, application and much more in just a few clicks: from three or more, depending on the settings, request and system configuration.
Often, it is more convenient for blind users to work with the search function, rather than manually scrolling through the many home screen fields with a dozen shortcuts on each.
Depending on the Android shell, the Search function can be activated either by clicking on the corresponding shortcut on the home screen or automatically, immediately after you start typing the first character on the keyboard.
In terms of navigation techniques, Android has three types of menus: two-dimensional, one-dimensional horizontal, and one-dimensional vertical.
- The two-dimensional menu is a work area that should be navigated in all four directions. That is, a blind user needs to remember that with the Up / Down commands he cannot cover all the available options.
- A one-dimensional horizontal menu is a list of items that should be navigated with the Left / Right commands, that is, the blind user must remember that if no movement in the menu opens with the Up / Down commands, then you should also try Left / Right.
- The one-dimensional vertical menu is the most familiar way of placing items for blind users, where movement is carried out by the Up / Down commands. It is important to note that in this type of menu, additional options are also available to the user.
In the vertical menu, when the appropriate setting of the screen reader is enabled, information about the number of the active item, as well as their total number, can be available. In addition, the user can use the following commands:
- Alt + Up – go to the first item in the list
- Alt + Down – go to the last item in the list
(In Android, Alt is the name of the key that is responsible for working with the additional characters input mode.)
In addition, it should be noted that there are two options for the item selection command: a simple press and a press and hold. This applies not only to activating an element via the touchscreen but also via the Enter key. In some programs, the results of these two actions on the same element may differ.
Purchasing apps from the Market
All programs in the market can be divided into two types: those that are distributed free of charge and those that are distributed commercially.
In the first case, the “Download” button is immediately available on the application page in the market, and in the second, instead of the “Download” button, there is a button with the approximate price of the application, calculated at the current rate of the user’s national currency to the US dollar, since all prices in the Market are assigned exactly in USD.
Commercial transactions with the Market are carried out through Google Checkout, which only accepts credit cards for payment, although American Express is also available for US residents. There shouldn’t be any problems with cards like Visa Classic or MasterCard Standart. If there are doubts about the suitability of the existing card for purchases via the Internet, then you can check this by looking for a special code on it – CVC (card validation code). This is a separate set of three or four digits, printed on the card separately from its main number.
Contrary to popular belief, even many salary cards such as Visa Electron or MasterCard Maestro are also suitable for Internet transactions.
In a situation where the existing electronic means of payment or depositing funds still do not have support for payment transactions via the Internet via CVC, the problem can be solved by issuing a virtual card. For details, the user should contact his bank or electronic payment system. Further description will be based on the assumption that the user in one way or another has already solved the problem of obtaining funds suitable for Internet transactions through Google Checkout.
To purchase in the Market, you need to “link” the card to the Google account, which is used to work on the device. This operation is carried out on the website http://checkout.google.com and is fully accessible to a blind user, he may have problems only with reading the CVC number and numbers from a plastic card.
On the main page of the site, click the “Register” link, then fill out the form that opens and click on the “Create an account” button, before that we recommend that you familiarize yourself with the terms of service by clicking the above button automatically confirms their acceptance.
Note that the “card number” is the long set of numbers on its face, while the CVC, as noted above, is a separate set of numbers. At the same time, for American Express cards, CVC is four numbers written on the right side of its front side, and for Discover, MasterCard, Visa or Visa Electron, CVC – these are the last three digits of a number line printed on a strip with the owner’s signature on the backside.
After the map is linked to a Google account, the user will be able to purchase applications in the Market. To do this, it will be enough to click on the button with the price of the application in the store interface and confirm the transaction.
Google Checkout can provide information by email about all transactions made through it, which will allow additional control over transactions.
Market conditions also provide for the ability to cancel the transaction, in which case the application is removed from the device, and the paid money is returned to the user. This can be convenient in a situation when the application, for one reason or another, does not suit something, for example, it has an insufficient level of accessibility for screen readers. However, the refund operation has several limitations:
Firstly, you can only get a refund for the purchase of a specific application once. If you buy the same app again, the refund operation will no longer be available.
Secondly, a refund is possible only within the first fifteen minutes after purchase. If more than fifteen minutes have passed since the purchase of the program, then this operation will also be unavailable.
To carry out a refund operation, in the Market interface, select the “My Applications” item in the menu. All applications for which this operation is available will have a second “Reimbursement” button next to the “Run” button, after activation of which the “Delete” button will appear. Clicking this button will remove the application from the device and initiate a reverse transaction.
If for one of the above reasons, the return operation is no longer available, then the user can contact the developer directly. But in this case, the latter has the right to act at his discretion. In this case, the refund is already a purely voluntary action of the developer, which he has every right to refuse.
System availability implementation specifics
The functionality of the availability of the Android system for blind and visually impaired users is implemented in a rather non-standard way, which imposes certain specifics on all methods of work.
Those interested in the strictly technical side of the issue can get more detailed information in the material Recommendations for developing applications for the Android OS platform, taking into account accessibility, or directly in the documentation for the Android SDK. Here, this issue will be elucidated in a simplified form for ordinary users of the system who do not know SOPs.
The main feature of the implementation of the Android accessibility functionality for blind users is that it is not the screen content that is sounded here, but the system events that occur. That is, in the strict sense, the term “screen reader” concerning screen readers for Android is not entirely correct, since they do not read the screen, but events, being rather event readers.
An event, in this case, means such a change in the computing environment, which is the entire operating system, which is of interest in the context of illustrating valuable screen data for the user. Such events in technical Android terminology are called “accessibility events”.
Theoretically, you can write an Android program that will display one information on the screen, and send completely different information to the availability events. In this case, the information spoken by screen readers in its window will have absolutely nothing to do with the data on the display.
Events handled by screen readers are, for example, turning on / off the screen, setting focus on an element, changing the contents of the system focus, notification, and others.
In practice, this means that the screen reader will sound the movement through the menu, as there is a focus change event, pop-up messages, as an alert event occurs, and many other things displayed in accessibility events. But she will not be able to read the entire screen or an arbitrary part of it, since such information is not provided through accessibility events.
Consider, for example, the situation of deleting a file.
Visually, the following happens on the screen: a pop-up window appears with the text “Do you want to delete the file?” and two buttons “Yes” and “No”.
From the point of view of the screen reader, two accessibility events occur:
- Alert, which is the pop-up text “Do you want to delete the file?”
- Change of focus content, since the appeared button “Yes” falls into it.
Event 2 may overwhelm event 1, and the user will not hear the text “Do you really want to delete the file?” or he will hear it partially, and then they will say the “Yes button” to him.
After that, the user of the screen reader no longer has the opportunity to repeat the information voiced in the first event within this window, since the event has already passed. Moreover, it cannot read the element in focus, since such information is also not provided through accessibility events. Here he has only the option to move the cursor to the “No” button, and then return to “Yes”. In this case, two events of changing the focus content will be created, and both buttons will be sequentially announced.
However, if the window had only one button, for example, the “OK” button, then this option would also not be available, since it would be impossible to change the focus content.
It is impossible to get data from the first event in any way, so the user will have to click the “No” button and repeat the actions that caused this window to appear.
All of this is true for Android up to and including version 3.2 (API level 13). Starting with Android 4.0, the system has implemented several accessibility innovations that can partially solve the problems described above. In particular, an operating mode is available in which the user can, as it were, touch the screen, while the elements under the finger will be read, but will not be activated, and to activate them, you need to touch the second finger anywhere on the screen. To a certain extent, this contributes to greater accessibility of screen information, but still cannot be considered a panacea.
The above-described specifics of non-visual work in the Android environment in most cases is not an obstacle to work, but acts as a certain inconvenience. Nevertheless, for users who have not previously encountered the event-driven implementation of screen access, it is important to know about this feature of the system so that it, at least, does not become an unpleasant surprise for them. Also, perhaps for some, it is generally unacceptable and knowledge of this will save him from the frustration after purchasing an Android device.