Every successful app interaction by an impaired user is backed by engineers who prioritize accessibility, using tools like Accessibility Inspectors. Be it iOS or Android, Accessibility Inspector allows you to develop and debug mobile apps for all users, including users with disabilities.
When it comes to iOS apps, testers depend on the Accessibility Inspector, the official accessibility checking tool offered by Xcode, because of Apple’s restrictive ecosystem. It provides extensive code insight and is widely recognized within the community.
Why Accessibility Matters in iOS Apps?
iOS applications are used by 28.54% of all mobile users. This is a large chunk of the 7 billion people who use a mobile phone. When the application has such high potential with a vast audience, it is the responsibility of developers and testers to build an inclusive application that everyone, with or without a disability, can use.
In addition, the more people use the application, the more beneficial it is for the business. The app can generate more data and earn more revenue if in-app purchases are allowed (a good example of this is eCommerce applications). Brands that provide accessible iOS apps also enjoy positive word of mouth amongst the users.
Moreover, legal complaints against organizations are on the rise today due to inaccessibility of the mobile applications. Several organizations and individuals have started to step up to make the application world inclusive for all. Legal cases end up in court or settlement, both of which are expensive affairs. Instead, this money can be put into hiring additional resources and making the iOS app accessible for all.
What Is an Accessibility Inspector?
Accessibility Inspector is a tool developed by Apple to debug accessibility issues. It can be used for macOS and iOS applications and even for apps that will run on Apple watches.
With Accessibility Inspector, accessibility issues can be identified using the following two scenarios:
Issues in the core elements (its code, behavior, styling, etc.).
Issues in navigating from one element to another (such as scrolling, pop-ups, dropdowns, etc).
Accessibility Inspector With Reset Accessibility Settings
Both of these areas are worked upon by analyzing the code associated with each element, a process facilitated by the inspector. However, to ease things out, the Accessibility Inspector can provide suggestions for improvement in the iOS apps for issues such as inverted colors and contrast issues.
How to Use Accessibility Inspector for iOS Apps?
Accessibility Inspector is not a standalone application. It requires support and environment setup before you start performing accessibility testing of the iOS application.
Prerequisites
Verify that the following prerequisites are met:
Enable macOS: The first step is to get a system running the Mac operating system. You have two options: either use a Mac, which comes with macOS pre-installed or set up a virtual machine with macOS.
Install Xcode: Once you have the Mac operating system, install Xcode from the App Store, which is the official IDE that supports Accessibility Inspectors.
Testing iOS Apps Using Accessibility Inspector
To start testing the iOS application using the Accessibility Inspector, follow the below steps:
On macOS, navigate to Xcode > Open Developer Tool > Accessibility Inspector.
By default, the inspector is set to inspect elements from applications running on your Mac. If no device is connected, you can continue using the Accessibility Inspector for applications already running on Mac. For example, open a URL in a browser and test the accessibility of a web page.
To inspect elements on an iPad or iPhone, connect the device to your Mac before opening the Accessibility Inspector.
Once the device is connected, open the Accessibility Inspector, and the list of connected devices will be shown.
Select the device where the app is running. This will display a list of apps that can be inspected.
Choose the target iOS app to continue inspecting. Once you select the iOS app, the inspector’s home screen will open, displaying elements like Basic, Actions, Advanced, etc.
Shortcomings of Accessibility Inspector
Accessibility Inspector is a great tool for inspecting accessibility issues and is one step towards an inclusive app world. However, there are some shortcomings of this tool that need to be kept in mind.
- Need for operating systems: Accessibility Inspector is available only on macOS, which limits its use for developers who might be working on other platforms or need cross-platform accessibility testing.
For people using Windows or Linux, procuring new Mac systems for everyone or installing virtual systems (which is not recommended due to false performance metrics) is a huge monetary and time investment.
- Absence of real devices: Accessibility Inspector uses Xcode, which uses simulators to run the application on Apple devices. Simulators are never a good idea, especially for iOS-based applications, due to memory shortage and movable devices (which raises issues like network lags).
They also provide incorrect metrics for vital parameters like network response time, load time, etc. It can create a false illusion of how the application works, which will come back to the team sooner than expected from the end-user.
- Need for physical devices: The Accessibility Inspector will require a device connected to the system in case real devices are used. However, the tester may require hundreds of devices with different specifications while performing cross-platform and cross-browser testing at scale. They will also require constant maintenance and upgrades.
Buying all the devices is a heavy dent in the balance sheet of the organization considering this is a recurring cost. In such a scenario, the team can leverage cloud-based AI testing platforms like LambdaTest, which offers a device farm of 5000+ latest and legacy iOS devices where you can test and debug your apps.
- Limited resource: Accessibility Inspector runs on limited resources provided by the host system, which in turn could be running on its share of resources in the case of virtual machines. Having limited resources that are shared by multiple applications can produce false timings.
Best Practices for iOS Accessibility Testing
Apart from the predefined settings in the Accessibility Inspector, the tester should also consider other accessibility attributes that must be taken care of while performing mobile accessibility testing of iOS apps:
**Contrast: **The WCAG guideline defines the contrast ratio to be at least 7:1 in stricter terms, but 4.5:1 is also acceptable. Below these limits, the elements become inaccessible to people with disabilities.
Media elements: While text elements can be read aloud by assistive devices, there is no way to know what video is played and what the subject is saying in it. The same is the case with image and audio elements (for people with hearing disabilities).
Logical segment division: It is recommended to divide the text into logical sections with appropriate headings. The headings, when read aloud, give the user context about the text that follows and also provide a logical path to remember the content, which is not possible in single long passages with multiple contexts.
Use descriptive links: A web page will contain a lot of links with redirection to the same website pages or third-party websites. While people without any disabilities can open the link and retrace it if it is irrelevant, people with visual impairment will not get the context if the link is not embedded in the correct word. Therefore, it’s important to use descriptive links that an impaired user can easily understand.
Conclusion
As a user without any impairments, it is easier to forget the features and requirements a mobile application should possess to make the lives of all people easier regardless of their abilities. However, a developer and a tester cannot think this way.
Building an application for iOS, which more than 1 billion people use, is a task that requires technical skills and responsible ethics. For this, the most sought-after solution out there is the Accessibility Inspector. It provides pre-built options to quickly inspect how the application looks when accessibility settings are turned on, or the user is using some assistive device.
Top comments (1)
Using the Accessibility Inspector is crucial for ensuring our iOS apps are usable by everyone. I found your step-by-step guide very clear and helpful. For developers juggling multiple tasks, like checking accessibility during different times of the day, it’s important to manage our time efficiently. For instance, I often take breaks during the day to check prayer times, which helps me stay focused and balanced. Thanks for sharing these insights!