Thursday, 18 December 2014

Testing Accessibility in Android with TalkBack

TalkBack

TalkBack is an Accessibility Service that helps blind and vision-impaired users interact with their devices more easily.
This application add spoken, audible, and vibration feedback to your device. It is a system application that was pre-installed on most device and is updated when the accessibility service is improved.
This app is only activated if you explicitly turn on Accessibility.

Steps to activate Accessibility:
1. Go to Settings
2. Select Accessibility
3. (Android 3.2 and earlier) Enable Accessibility checkbox
4. Enable TalkBack checkboxes
5. (Android 4.0 and later) Enable explore-by-touch
Hold hand over proximity sensor to silence TalkBack as opposed to iOS 2-finger tap.

Enable TalkBack Confirmation Screen

Installing scripts to enhance web accessibility is now on by default when you enable TalkBack. Progress! :)


use talkback screen

TalkBack Settings

Speech

speech talkback settings
  • Speech volume
  • Use pitch changes - Speak keyboard feedback in a lower pitched voice
  • Keyboard echo
  • Speak notifications when screen is off
  • Use proximity sensor to silence speech by waving your hand over sensor like a Jedi ;)
  • Shake to start continuous reading (with varieties of shake speeds)
  • Speak caller ID

Other Feedback

  • Vibration feedback (replaced KickBack)
  • Sound feedback (It can get pretty noisy in TalkBack world... ding, swoosh, clang, etc.)
  • Focus speech audio - Decrease other audio volume while speaking
    • VoiceOver for iOS does this by default
  • Sound volume

Touch Exploration (A relatively new concept in TalkBack land, there used to be a D-Pad like a joystick on all Droids)

  • Explore by touch
  • Automatically scroll list - NEW in 4.3 :) A much needed improvement!
  • Single-tap selection - (Experimental) Tap on currently focused item to select (Never tried it myself)
  • Launch "Explore by touch" tutorial
  • Manage gestures
    manage gestures
    • Built-in gestures
      • Two part vertical gestures
        • Move to first and last items on screen
        • Cycle through reading granularities
    • Shortcut gestures
      • Swipe up/down/right/left then right/left/up/down (all possible right angle quadrant gestures)
        shortcut gestures
        • Open local context menu
        • Open global context menu
        • Home button
        • Back button
        • Open notifications
        • Recent apps button
        • Read from top
        • Read from next item

Miscellaneous

  • Developer settings
    • Log output level
    • Resume from suspend
    • Display speech output

Display Speech Output has bad contrast, looks very bad on white backgrounds.

display speech output setting

Vibration Feedback (Replaced Kickback)

vibration feedback

Accessibility Shortcuts

a11y shortcuts settings
Global Context Menu (kind of like a rotor in iOS but not)

global context menu


Testing for Accessibility with TalkBack

Accessibility Testing Checklist | Android Developers
  • Set up and use the application without sighted assistance.
  • All task workflows in the application can be easily navigated using directional controls and provide clear and appropriate feedback.
Directional controls: Verify that the application can be operated without the use of a touch screen.
Note: Keyboards and D-pads provide different navigation paths than accessibility gestures. While gestures allow users to focus on nearly any on-screen content, keyboard and D-pad navigation only allow focus on input fields and buttons.
TalkBack audio prompts: UI controls have clear and accurate audio descriptions when TalkBack is enabled and controls are focused. Use directional controls to move focus between application layout elements.
Explore by Touch prompts: UI controls have appropriate audio descriptions when Explore by Touch is enabled. There should be no regions where contents or controls do not provide an audio description.
Touchable control sizes: All controls where a user can select or take an action must be a minimum of 48 dp (approximately 9mm) in length and width, as recommended by Android Design.
Gestures work with TalkBack enabled: Verify that app-specific gestures, such as zooming images, scrolling lists, swiping between pages or navigating carousel controls continue to work when TalkBack is enabled. If these gestures do not function, then an alternative interface for these actions must be provided.
No audio-only feedback: Audio feedback must always have a secondary feedback mechanism to support users who are deaf or hard of hearing, for example: A sound alert for the arrival of a message should also be accompanied by a system Notification, haptic feedback (if available) or another visual alert.
Repetitive audio prompting: Check that closely related controls (such as items with multiple components in a list) do not simply repeat the same audio prompt. For example, in a contacts list that contains a contact picture, written name and title, the prompts should not simply repeat “Bob Smith” for each item.
Audio prompt overloading or underloading: Check that closely related controls provide an appropriate level of audio information that enables users to understand and act on a screen element. Too little or too much prompting can make it difficult to understand and use a control.

Basic TalkBack Testing Methods

  1. Enable TalkBack
  2. Check the Name, Role, Value, State of each element.
  3. Set focus to all UI elements in the app and make sure the accessible name (contentDescription) makes sense. Make sure text alternatives for images match fully.
  4. If UI element is actionable should it have a role like button or tab? Static text would not have a role. (Called traits on iOS, role in WAI-ARIA)
  5. Adjustable controls like sliders must have their current Value spoken to TalkBack.
  6. Is the current state of a control spoken? E.g. is this tab the selected tab? Is this element expanded or collapsed?
  7. Images that are purely for decoration (have no function) should not be focusable.
  8. Is there proper focus management when new content appears on the screen? E.g. when a dialog appears does the TalkBack focus go into the dialog? Is it trapped in the dialog? Or is the focus still stuck underneath the dialog? Is focus lost when the dialog is closed? Does focus return to the UI element that opened the dialog? When error messages appear are the spoken automatically by TalkBack?
  9. Is the focus order logical when swiping through elements or using directional controllers? Generallly follow the visual reading order, left to right, top to bottom.
  10. Is the TalkBack user aware of gestures specific to your app that they need to know to activate content or features? If those custom gestures conflict with TalkBack is there an alternative method to acheive the same function?

Sunday, 14 December 2014

WebDriver Java client - Setup

Download WebDriver Java client

Selenium webdriver supports many languages and each language has its own client driver. Here we are configuring selenium 2 with java so we need ‘webdriver Java client driver’.

1) Click here to go on WebDriver Java client driver download page for webdriver download file. On that page click on ‘Download‘ link of java client driver as shown in the below image.

Eclipse IDE - Setup

Download and Start Eclipse IDE

Download Eclipse for Java Developers, extract and save it in any drive. It is totally free. You can run ‘eclipse.exe’ directly so you do not need to install Eclipse in your system.


1) Go to http://www.eclipse.org/downloads.


2) For Windows users, you will have to know what type of version of your OS you have. If your computer is a 64 bit Windows , select Windows 64 and if you have a 32 bit Windows, select Windows 32 bit.


3) Save the .zip file to your disk.


4) Once you have downloaded the Eclipse archive you will need to Extract the zip file, which will create the unzipped Eclipse folder.

5) You may want to Extract the archive to the root of C: drive, thus creating the folder “C:eclipse”, or just moved the extracted eclipse folder to the root of C: drive if you extracted it already. I prefer to leave it as it is.

6) Let the extraction process finished.

7) Open the eclipse folder.

8) Since Eclipse IDE does not have any installer, there will be a file inside the Eclipse folder named eclipse.exe. You can double click on the file to run Eclipse.

Note:(This step is not required, but it’s strongly recommended.) Right-click the Eclipse Icon and press “Send To” -> “Desktop (Create Shortcut).” Now you will be able to launch Eclipse from your desktop.

9) Create a workspace folder where you will contain all the program files you create.  You can choose whatever place you want for your workspace, but it’s easiest to just use the default you’re given. I like to choose my own workplace location and will place all my Toolsqa tutorial projects under it.


10) You may see the window like this, this is the Welcome window for Eclipse.


11) Now that you have finished installing eclipse restart your computer. By restarting your computer it refreshes system memory and allows changes made by installers and uninstallers to take effect.

Thursday, 13 November 2014

JAVA - Setup

Download and Install Java
First of all you need to install JDK (Java development kit) in your system. So your first question will be “how can I download java”. Click here to download Java and install it in your system as per given installation guide over there or follow the below mentioned steps.
1. Visit the Java downloads page on Oracle’s website to find the JDK environment download. Scroll down until you find Java SE Latest Version and download JDK.Download-And-Install-Java-1
2. Once you have selected download, accept the terms of service and choose the correct OS corresponding for the specific JDK. (Windows, Mac, Linux, etc.)
Download-And-Install-Java-2
3. Save the .exe file to your disk.
Download-And-Install-Java-3
4. Once the download is complete, double click the file to begin the installation of JDK.
Download-And-Install-Java-4
5. To run the installer, click Run.
6. The installation process starts. Click the Next button to continue the installation.
Download-And-Install-Java-6
7. On the next screen you will encounter some options. Just leave these alone and click Next unless you know what you are doing.
Download-And-Install-Java-7
8. After the initial installation is done, a pop up asking you where your source java files will be. You can choose to change where you want to keep your folder but it’s best to stick with what you were given first. Click Next to continue.
Download-And-Install-Java-8
9. Let the installation finish.
Download-And-Install-Java-9
10. A few brief dialogs confirm the last steps of the installation process; click Close on the last dialog. This will complete Java installation process.
Download-And-Install-Java-10