Internet and connected mobile apps have transformed the way we learn, work, and interact with each other. At the same time, this information revolution is yet to touch a significant section of the global population with physical disabilities like blindness. According to the World Health Organization, there are 285 million people in the world who are visually impaired, of whom 39 million are blind.
How can we make our information systems so inclusive that the benefits reach such people also? The answer lies in Accessibility.
An accessibility report analyzing the top million homepages on the web estimates that just 1 percent meet the most widely used accessibility standards.
Web Accessibility Initiative (WAI) at World Wide Web Consortium (W3C) has defined guidelines to help make the Web accessible to people with auditory, cognitive, neurological, physical, speech, and visual disabilities. Application developers can make use of such guidelines to the author and validate contents that are accessible to all sections of people.
Travancore Analytics has immense experience in developing applications for users with partial or complete visual impairment. We have provided development and testing support for our clients to create products for the blind community. These products help blind users in their day to day lives for activities like wayfinding, pedestrian navigation, exploring places of interest, and also navigation within the building that guides people precisely using indoor navigation.
We offer the following services,
Accessibility development is the practice of making applications usable by a larger audience. We design apps with accessibility in mind and make it possible for every user to get the most out of the app. At TA, we aim to maximize user engagement through digital equality.
We use various tools that Android and iOS platforms offer to incorporate accessibility solutions. The core concepts of accessibility apply to all (mobile) platforms. However, each platform has its own accessibility solutions.
With built-in accessibility features, APIs, and developer tools, we use iOS properties that provide extraordinary opportunities to deliver a superior mobile experience to customers with a diverse range of abilities.
- iOS VoiceOver is used to allow our apps to focus on UI elements and read the selected text out loud along with adjusting the voice’s dialect and speaking rate for a better user experience.
- The AVSpeechSynthesizer class helps produce synthesized speech from text and provides methods for controlling the progress of ongoing speech.
- We provide accessibility information about the views and controls in the UI to users using UIAccessibility.
- Since VoiceOver doesn’t recognize our app’s custom UI elements by default, additional accessibility information is provided to these elements using accessibilityLabels and accessibilityHints, making the app equally accessible to non-sighted users as well.
- To make the app appealing to different geographic target markets, localization is equally important as accessibility for which we use NSLocalizedString for the element’s description.
- To tackle the chaos that a VoiceOver user might face with a UI that depends on visual cues like the state of a check box, we include descriptive text for VoiceOver to read using accessibilityTraits.
Android Accessibility aims at helping users navigate their devices and with the plethora of accessibility features, makes the use of technology less challenging, especially for those with disabilities.
- Audio hints help users navigate even the simplest of interfaces that convey information graphically using content description, for which we provide informative texts that are localized to cover a wider audience.
- TA ensures that the user knows about the dynamic change on the state for the elements, like a toggle button or checkbox using setContentDescription().
- Unnecessary descriptions are avoided which may annoy users, like the type of element which will be automatically announced by the Screen reader.
- We handle the graphical elements that are used just for decorative purposes with the attribute important for accessibility.
- To override the Android algorithm that finds the nearest focusable element, we use the attributes nextFocusDown, nextFocusLeft, nextFocusRight, nextFocusUp.
- We use the labelFor attribute to indicate the relationship between an element and its associated view.
- The hint attribute is used to show text that gives examples of valid input in the element itself, in addition to making this example text available to screen readers.
- We consolidate related elements to help users of assistive technology discover the information that’s on the screen more efficiently using screenReaderFocusable and focusable.
React Native provides well-developed accessibility APIs that are constantly being developed which allows us to create inclusive mobile applications easier. React native implementations vary based on iOS and Android platforms.
- The React Native accessibility APIs integrate the apps with assistive technologies such as screen readers VoiceOver for iOS and TalkBack for Android.
- Similar to iOS and Android, React Native also provides attributes like accessible, accessibilityLabel, accessibilityHint, accessibilityRole to improve the accessibility of the app.
- These properties will help users understand the element they have selected and the action it will perform with the provided description that is translated and localized.
- Using plugin eslint-plugin-react-native-a11y helps to maintain the code quality and support in identifying places in the codebase that are missing additional accessibility properties.
Web accessibility is the new normal and companies need to ensure that their content is available to all to create a more inclusive user experience. Implementing some key principles of accessible design while development would be ideal for better accessibility that too without compromising the overall look and feel of the website.
- We follow the W3C Web Accessibility Initiative (WAI), an international standard for web accessibility, that develops technical specifications, guidelines, and techniques for accessibility solutions.
- Another guideline that helps with accessibility is Web Content Accessibility Guidelines (WCAG) 2.0 which provides a single shared standard for web content accessibility.
- WCAG is a stable, referenceable technical standard with 12-13 guidelines that are organized as perceivable, operable, understandable, and robust.
- A very common approach a developer can put forth while developing a website is to avoid small fonts since it would be a great advantage for people with poor vision.
- Color blindness is a major visual impairment a large portion of the web users have that narrows the web usage, which can be tackled by using black and white colors in the UI that are considered as universal.
- To make web apps more accessible, always provide alternative texts for the components so that a blind person can easily recognize its purpose.
All professional software products ought to be thoroughly tested before deployment to production, in order to assure the quality of the product. Testing for accessibility lets us experience the app from the perspective of the users and find usability issues that we might otherwise miss. Accessibility can be tested either manually or can be automated. A more efficient methodology has been to get the app tested by real people, preferably non-sighted users, who interact with the app.
We, at TA, resolve accessibility issues in software by making accessibility testing a part of the normal software testing life cycle.
- We use iOS Screen Curtain which blanks the screen entirely but leaves VoiceOver running so that we can use the app without a visual display, thus helping a sighted person test accessibility from the perspective of a non-sighted user.
- Accessibility Inspector which comes pre-installed with Xcode is really helpful in inspecting if all of the available elements are made accessible.
- Voice Control is a boon for accessibility testing to find issues with accessibility labels, especially to find mistakes such as buttons that you forgot to add an accessibility label to.
- Android apps can be tested by enabling the TalkBack and navigating the app using only audio feedback to ensure that every control element provides the necessary feedback without repetition.
- Manual testing puts us in the shoes of the user and is implemented by interacting with the app using Android accessibility services.
- Another Android tool that can be handy in the testing process is AccessibilityScanner that scans the current screen and displays some tips on how to improve the accessibility and provides specific suggestions after looking at content labels, clickable items, contrast, and more.
- Testing can also be performed with analysis tools to discover opportunities to improve the app’s accessibility that you might miss with manual testing.
- A team of testers will run through different scenarios to ensure that every element of the website is accessible to users with a diverse range of abilities with no hiccups.
- All elements are put through rigorous testing to ensure that it complies with the rules.
- We use NVDA (Non-visual Desktop Access), a free and open-source screen reader for the Windows that takes the HTML of the page and converts it into a flat document, in the order the HTML appears in the source, with semantic information like links, headings, form fields, images and other information being spoken along with the actual text of the page.
- TAW, an online tool for determining the accessibility of the web page, analyzes the website in accordance with W3C web accessibility guidelines and shows the accessibility issues which can be improved.