This article describes how to use the Ranorex Studio IDE and the Ranorex API for test automation in your behavior-driven development (BDD) process. BDD requires a cognitive shift: instead of thinking about testing functions, you are now thinking about behaviors....
There are several approaches that can help an application be more accessible to those with mobility disabilities.
Types of mobility disabilities
Primary mobility disabilities include the following:
Paralysis: A variety of conditions can result in a lack of movement in the extremities. Birth defects such as spina bifida and cerebral palsy can have a significant impact on the ability of extremities to operate, with a gradation of minor fine motor control issues to full immobility.
Limb loss or absence: Meromelia is a birth defect where one or more limbs may be lacking a part or only partially formed. Diseases or injuries also can require the amputation of limbs and extremities.
Loss of fine motor skills in hands: A variety of conditions, such as multiple sclerosis, Parkinson’s disease, diabetes, stroke, myelopathy, and arthritis, may make it difficult to control a mouse or a stylus, or otherwise effectively use a standard keyboard.
Ensuring your application is usable by those with mobility issues
The goal for truly inclusive design is to engineer your application in such a way that assistive technologies aren’t even always necessary. Here are a few suggestions, many of which do not require assistive technology, that you should check to ensure your application is accessible by those with mobility issues.
Ensure all functions can be accessed with the keyboard: This is specific to web applications and regular computer systems. Interactions that focus heavily on mouse usage will be a challenge for people with a limited ability to move a mouse or to specifically control and target its pointing interface.
Making sure that keyboard options are available and clearly indicated will help considerably. It also helps to provide keyboard commands that are standard and do not require complex sets of keystrokes to execute.
Use tabs and skip links to get to the main content: It’s very helpful to those with mobility issues to have the ability to use the tab key to navigate, as is making the first tab item a skip link, so as to bypass the navigation elements, if necessary. Verify that the tab order is consistent with the way the material is presented, most often left to right and top to bottom.
Test your product with a capacitive touch stick: Many users will need an alternative to keyboard input. Both with traditional computer systems and mobile devices, I use a touch capacitance pen or pointing device and hold it between my lips or teeth. The rubberized end acts as a pointer and a substitute for a finger to interact with a typical computer keyboard. It does have some limitations in that I can only press one key at a time, so using “sticky keys” and other time-based key combinations helps me interact with a system.
On touchscreen devices, closing my lips around the barrel of the pen also allows me to use the human body’s electrical connectivity to utilize the rubberized end on the screen. This helps extend the ability of a classic touch stick to a smartphone or tablet and register the touch events the same way another user would with their finger.
Drive your application with voice-recognition software: For individuals with limited or no mobility in their arms or hands and where movement with a touch stick may be impractical, voice recognition software is a huge advantage. Voice recognition tools allow users to use their voice to execute commands, navigate sites, and fill in information, as well as compose longer text entries.
I find spending time trying to navigate an application through a voice-recognition application to be both enlightening and frustrating. Commands for voice-recognition software are standardized to common keystrokes for typical computer actions, so making sure that my software can effectively respond to voice commands is important.
Opportunities for automation
While there are specific challenges that come with mobility disabilities and many of the testing options are less specific to tagging or incode validation, there are still some areas that can be automated to help some of these efforts.
Put skip links on most pages: By evaluating a page, I can determine whether a skip link will meet the requirements to allow me to bypass navigation items and menus in order to get to the primary content of a page. Exceptions to this rule can be applied if there are fewer than four elements between the top of the page and the main content.
Use semantic HTML to define landmarks: By using landmarks in pages, such as Header, Main and Footer tags, it is possible to navigate to specific page regions. Searching pages for these elements
Create large, clickable areas: In addition to asking the designer to make buttons that can be resized for better viewing by those with impaired vision, large areas that are clickable are also helpful to those who struggle to focus on areas that require precision to select. By looking for values that are within a certain size threshold of horizontal and vertical pixels or percentage of a space, I can optimize a clickable area to make it large enough to be useful to someone with reduced mobility.
Many of these steps go beyond making an interface that is easier to use for people with mobility issues. These practices allow everyone to see and interact with a cleaner and more intuitive environment, which benefits everybody.
The SpecFlow add-in provides file templates for feature files, step definition files and event definition files. It also translates the features from Gherkin syntax to C# code. To install the SpecFlow add-in to Ranorex Studio, follow the instructions below:
Test driven development is a type of programming that relies on testing and coding as well as design to work as one.
Test maintenance ensures the quality and accuracy of an application is not compromised. Uncover how to ensure your tests are always up to code.