GameDev

What is accessibility in programming and why does business need it?

What is accessibility in programming and why does business need it?

Free Python course ➞ A mini-course for beginners and experienced coders. Four cool projects in your portfolio and a live chat with the speaker. Click here to find out what you can learn in this course.

Find out more

Mikhail Rubanov is a well-known figure in his field. His professional activity covers a wide range of topics, which makes him an expert in many aspects. Mikhail actively shares his knowledge and experience by participating in various events and publishing useful materials. His approach to work is based on thorough analysis and a deep understanding of the market. Through his achievements, Mikhail Rubanov has established himself as a reliable and competent specialist whose opinions are respected by colleagues and clients. Importantly, Mikhail constantly strives for self-improvement, which allows him to remain relevant and in-demand in his field.

An expert in his field is a professional with deep knowledge and experience who is able to provide valuable recommendations and solutions. He actively monitors the latest trends, expands his skills, and shares them with the audience. Thanks to his experience, the expert can analyze complex situations and propose effective strategies for achieving goals. His opinions and advice are highly valued, making him an indispensable source of information for those striving for development and success in his field.

Mobile Head at Dodo Engineering. Specializes in interfaces, testing, and accessibility. Author of the book "On iOS Accessibility." In her spare time, she writes articles on technology and accessible design, and enjoys collecting keyboards.

Links play a key role on the web, providing navigation and access to information. They not only connect pages within a site but also help users find the content they need on other resources. Proper use of links improves a site's SEO ranking, increases its authority, and contributes to a better user experience. It's important to optimize anchor texts so they are informative and relevant to the content of the page they link to. Internal links, which help distribute page weight and increase user time on the site, are also worth paying attention to. Effective links can significantly improve the visibility of your content in search engines.

An application's interface should not only be aesthetically pleasing and easy to use, but also take into account many other important aspects. One key factor is accessibility. Accessibility determines how effectively users with visual impairments, motor disabilities, and other disabilities can interact with the application. Creating an accessible interface helps ensure equal opportunities for all users, which is an important aspect of modern web design. When developing an interface, it is necessary to take into account accessibility principles to ensure inclusiveness and meet the needs of all categories of users.

What types of accessibility are there and how is it implemented in iOS?

Accessibility is divided into two main types. The first type is physical accessibility, which ensures the ability to access objects and services for all users, including people with disabilities. The second type is information accessibility, which ensures that information and content are accessible and understandable to everyone, regardless of their physical or technical abilities. Both types of accessibility play a significant role in creating an inclusive environment that promotes equal opportunities for everyone.

Physical accessibility of the interface plays a key role in ensuring user comfort. This means that the user should be able to easily reach the necessary controls, such as buttons. When designing screens, it is important to correctly place buttons so that they are accessible without having to move the device. In the case of ATMs, external factors such as sunlight are also taken into account, requiring increased button contrast to prevent glare. Therefore, attention to the physical accessibility of the interface contributes to an improved user experience and increases the effectiveness of interaction with the device.

Accessibility for people with disabilities is an important aspect of application development. For visually impaired users, the font size and interface elements should be increased, allowing them to use the application without the need for glasses. Text can be scaled up to 400%, filling the entire screen for maximum readability. For blind users who use screen readers, it is important to add alternative text descriptions to images and clearly indicate the types of interface elements. This will ensure more convenient and intuitive access to information and application functionality.

Special markup for mobile devices allows them to be operated by people with disabilities, including paralyzed users and those who cannot touch the screen due to burns or fractures. Innovative devices have been developed for these users, such as external keyboards with large keys, foot pedals, and unique buttons that can be activated by the back of the head. A paralyzed person simply needs to blink at the right moment, and the smartphone can record and recognize this gesture using the built-in camera. These technologies have already proven themselves as effective solutions, allowing you to control mobile devices without having to touch the screen.

Image: M. Rubanov / "About iOS Accessibility" / Dodo Engineering, 2021

Smartphones offer a variety of settings, including text display options, animations, and the ability to enable screen readers. These settings must be taken into account when developing software to ensure that the application is tailored to individual user preferences. Proper integration of such features improves the user experience and makes the application more accessible to different categories of users.

Modern iPhones offer many features for people with physical disabilities. Devices are equipped with speech synthesis, gesture recognition, and receiving signals from various accessories. This allows users with disabilities to type and interact with the phone. With these features, they can communicate, shop, enjoy entertainment, and use the smartphone just like everyone else. Innovative technologies make iPhones accessible and convenient for everyone, improving the quality of life for people with disabilities.

Every year, Apple introduces new accessibility features in iOS updates. In the summer of 2021, a video demonstrating how the Apple Watch can respond to gestures became popular. For example, the device recognizes a fist or the touch of the index finger and thumb. This allows the user to operate the watch with one hand, without touching the screen. Such innovations make technology more accessible for people with disabilities, highlighting Apple's commitment to inclusivity and ease of use in its products.

A person without speech impairments can use voice control technology to control their phone. This is not just a voice assistant with a limited set of commands, but a full-fledged voice control that allows you to interact with various applications. Unfortunately, this feature is currently only supported in English.

Last September, iOS 15 was released, which introduced sound recognition. This new feature is of great importance, especially for people with disabilities. Often, paralyzed users' speech becomes slurred, making it impossible to control the device using voice commands. In iOS 15, you can now control your iPhone using various sounds, such as whistling, clicking, and grunting.

In addition, the device is capable of analyzing facial expressions, head turns, eye movements, as well as expressions such as frowning, smiling, and sticking out the tongue. These commands allow the user to select interface elements and navigate through applications, greatly simplifying interaction with the device. The sound recognition feature in iOS 15 opens up new horizons for people with disabilities, making technology more accessible.

We Need More Accessible Apps

I became familiar with the concept of accessibility by watching an interview with Anatoly Popko on the Wylsacom platform. In this interview, he shared many interesting ideas that made an impression on me. One of the key points was the assertion that blind people perceive their condition as natural. They cannot see, but they do not suffer because of this—it is part of their life. This concept emphasizes the importance of understanding and respecting different ways of perceiving the world, which is the foundation of accessibility for all. It is important to develop public awareness that accessibility is not only about the physical environment, but also about attitudes towards people with special needs.

Problems arise when an app isn't tailored to user needs. Users encounter obstacles and limitations while attempting to perform a simple task. It's important to understand that these situations can lead to frustration and a negative experience. We can change this by creating more user-friendly and intuitive interfaces. Optimizing user experience is key in app development. We must strive to ensure that every user can complete their tasks easily and efficiently, minimizing potential difficulties.

Grocery delivery is a convenient solution for staying home and staying safe, especially during COVID-19 restrictions. This service is especially relevant for blind people, as they must overcome numerous obstacles on their way to the store to cross the street safely and select the necessary products. Information on product packaging is mostly presented in graphic form, making it inaccessible to those who are visually impaired. The lack of Braille text deprives visually impaired people of the opportunity to independently browse the product selection and select the desired products. Even if they manage to fill their basket, getting home becomes a difficult task, as one hand is occupied with a cane. Grocery delivery not only simplifies the shopping process but also makes it accessible for everyone, ensuring comfort and safety. How many apps are truly accessible to people with disabilities? How often are these programs adapted? The exact number is difficult to determine, but it is known that companies like Sberbank and Yandex are actively investing in creating accessible solutions. However, the majority of apps still lack the necessary adaptations—approximately one in two visually impaired people find them inaccessible. This applies not only to banking apps, but also to messaging apps, movie streaming services, and food delivery platforms. The urgency of this issue requires developers to address accessibility concerns.

Many companies don't realize that their users may have special needs and therefore ignore their concerns. This is because most developers are young, healthy people between 20 and 30 years old who have no vision problems. If an app's target audience includes people over 40 who may have visual impairments, they sometimes take this into account when choosing font size. However, developers who don't face such challenges don't always understand the importance of interface accessibility. It is important to consider the needs of all users to ensure a convenient and inclusive experience for everyone.

App Accessibility Statistics in Russia and Around the World

The external environment is not adapted for people with special needs, which means that blind people or people in wheelchairs are rarely seen on the streets, despite their significant numbers in our country. According to statistics, there are approximately 12 million people with varying degrees of disabilities in Russia, which is an impressive figure. The need to adapt urban infrastructure for such people is becoming increasingly urgent, as this will allow them to integrate into society and improve their quality of life. Ensuring the accessibility of public spaces, transportation, and services for people with disabilities is an important task that requires attention and action from the state and society.

There are various visual impairments that can significantly impact quality of life. Some people experience poor vision, others are completely blind, and still others are color blind. In Russia, the percentage of visually impaired people is small, but color blindness affects approximately 8% of men, which equates to one in 12 men. It is important to pay attention to vision problems and awareness of these conditions to provide support and understanding for those who experience them.

According to our statistics, 27% of users change the font size, and 10% of them prefer to increase it. This indicates that there is a significant number of people with vision problems among users. This figure will likely grow each year, as we and our parents actively use smartphones, unlike previous generations. With this in mind, it is important to adapt content to improve accessibility and readability to meet the needs of all users.

Research shows that in the Netherlands, 40% of users change at least one accessibility setting on their devices. In Russia, according to our data, this figure is around 32%. It is worth noting that only approximately 17% of Russians use an iPhone, while in the Netherlands this figure reaches 40%. These differences in figures may be due to different levels of device penetration. However, even taking these factors into account, at least a third of users require accessibility settings, indicating a significant number of people with special needs.

Checklist: The Most Common Accessibility Issues in Mobile Apps

Blind and visually impaired users face various challenges when using mobile apps. One of the main difficulties is the lack of an accessible interface that takes their needs into account. Apps often do not support screen access technologies, which makes navigation and interaction with content difficult. Insufficient contrast between text and background is also a serious problem, as it makes information difficult to read.

Furthermore, many apps do not provide alternative text for images, which deprives users of the ability to perceive visual content. It should also be noted that the lack of voice prompts and intuitive controls can lead to significant difficulties. Information presented in complex graphical forms may also be inaccessible to users with visual impairments.

Therefore, to ensure accessibility of mobile applications for blind and visually impaired users, it is necessary to take these aspects into account during development. This will create a more inclusive environment and improve the user experience.

  • The button with the icon is not labeled, and the name of the file with it does not clarify the situation.
  • There are too many elements, the focus literally stops on each label, it is easy to get lost.
  • The screen focus cannot take any element, confuses the order of elements or gets stuck in a modal window.
  • The button does not indicate that it is a button, and it is not clear that it can be clicked.
  • There is no desire to update the application, because what worked before may break.

If the application implements a modal window that is overlaid on the rest of the content, standard controls may function correctly. However, if the developers created these elements themselves, there is a risk of errors. In such cases, when a modal window opens over other parts of the app, the screen reader may not recognize the new window and focus on the desired element. This can negatively impact the app's accessibility for users with disabilities. To ensure that modal windows work properly, it is important to follow accessibility guidelines and test them with assistive technologies.

Image: M. Rubanov / "About iOS Accessibility" / Dodo Engineering, 2021

Blind users often disable auto-updates because new app versions can introduce changes that disrupt the user experience. This can require time to learn new features or how to use the app. Therefore, when a new version of iOS is released, blind users prefer to wait for reviews from specialized bloggers to evaluate whether to upgrade or stay with the current version. This approach avoids unnecessary difficulties and maintains usability.

How to Make Apps Accessible

To ensure the comfort of users with visual impairments or epilepsy, it is necessary to address the main shortcomings in design systems. This will help create more accessible and safe interfaces that take into account the needs of all users. Improving visual perception and reducing the risk of epileptic seizures should be a priority when developing digital products. There are simple solutions that can help make an app more accessible to users. Implementing these solutions will improve the user experience and expand the reach of the app. Key recommendations include optimizing the interface for screen readers, using contrasting colors to enhance text readability, adding text descriptions to images and buttons, and ensuring keyboard navigation is possible. Additionally, it's important to consider the needs of users with disabilities and create an intuitive design that allows all users to easily interact with the app. These steps will help you improve the accessibility of your app and make it more usable for all categories of users.

  • Increase the font size to make it easier to read.
  • Provide the option to disable animation and autoplay videos to prevent motion sickness and epileptic seizures.
  • Add labels to buttons or increase their size.
  • Make the text size in the app dynamic.
  • Make each screen scrollable. Then the enlarged text will fit on the screen.

Often, elements on a page are arranged horizontally, in a single row. Increasing the font size may require adjusting the entire layout. If internal content exceeds the screen dimensions, the texts can adapt accordingly. For example, content can transform from a horizontal list to a vertical one, which helps maintain responsive design as the text size changes. This approach ensures ease of reading and improves user experience.

As the text size increases, the layout can adapt. Image: M. Rubanov / "About iOS Accessibility" / Dodo Engineering, 2021

To ensure your app is compatible with screen readers, consider the following guidelines. First, ensure all interface elements have appropriate text labels, which will allow the screen reader to correctly announce them to users with visual impairments. Second, use semantic HTML tags, such as <header>, <nav>, <main>, <article>, and <footer>, to structure your content, which will help improve information comprehension. It is also important to provide alternative text for images and other media elements.

Consider the use of ARIA attributes, which can further improve the accessibility of your app. For example, the role, aria-label, and aria-describedby attributes help screen readers correctly interpret the functionality of elements.

Also, test the accessibility of your app using specialized tools such as WAVE or Axe, which can identify potential issues and suggest solutions.

Following these guidelines will help you create a more accessible app that meets the needs of users with disabilities.

Interface layout should be done with special care. First and foremost, each control, including buttons, should be given clear names and text labels. This is important for accessibility for blind users, who require a text description of each button and a clear indication of its type. Buttons are most often represented as icons, which can be intuitive, but having a text description is critical. For example, iPhones can convert these text descriptions into speech, significantly improving interaction with the interface for people with visual impairments. Proper markup not only makes the interface more accessible but also improves the overall user experience.

Image: M. Rubanov / "About iOS Accessibility" / Dodo Engineering, 2021

Reduce the number of elements on the screen by grouping them and specifying their type: image, heading, text, button. If elements are logically combined, a blind user should perceive them as a single unit. When using a screen reader, such as VoiceOver on iOS, focus is indicated by a black and white border around an element. When an element has focus, the program speaks its name. To move to the next element, the user can swipe left or right, which turns the screen into a touchpad. To activate an element, simply tap anywhere on the screen. Optimizing the perception of content for blind users is important for creating accessible interfaces and improving their interaction with digital products.

Testing your app with screen reader is an important step towards ensuring accessibility. To make your app accessible, start by learning how screen reader works and how it interacts with native iPhone apps. Then, move on to testing your app to identify issues. You'll likely find that buttons don't have labels, cells aren't labeled as "button," and users will have a hard time figuring out what to tap. You might also encounter areas where focus gets stuck, preventing the flow from completing. For more in-depth testing, turn off the screen and use the phone purely by ear to better understand how users interact with your app.

Working with accessibility may seem labor-intensive, but in reality, most of the data for screen readers comes from the graphical interface. If buttons have clear labels, the screen reader will be able to read them aloud to the user. The main task is to add descriptions where they are missing. This will improve interaction with the content and increase its accessibility for users with disabilities. Ensuring accessibility not only meets standards but also allows you to expand your site's audience.

Major design issues can be identified quickly. For example, I analyzed an application in 5 days, which is about 40 working hours. During this work, only 1-2 lines needed to be added to some elements. Improving accessibility is possible at any stage of development. Considering accessibility from the outset will lead to significant improvements in the graphical interface.

If an element is difficult to perceive with a screen reader, then it may also be difficult for a sighted user to use. When adapting applications for blind users, we begin to focus on mental models. This allows for more intuitive and accessible designs. Thus, the emphasis on accessibility contributes to the formation of a more human-like interface, which is its important advantage.

How I wrote the book "On iOS Accessibility"

Image: M. Rubanov / "On iOS Accessibility" / Dodo Engineering, 2021. Link to the book

When I started studying accessibility, I faced a serious problem – a lack of materials on this topic. I searched for information for a month, but found only a few articles and lectures. They mostly covered basic concepts or considered only one application. However, none of them explained how to adapt a full-fledged app for accessibility.

The Dodo Engineering team organized a conference in the office, where we gathered people to watch an Apple presentation and presented papers on our developments. During the event, I shared my experience using smartphones as a blind user. Our guests were interested in this topic, so we decided to delve deeper and explore ways to improve technology accessibility for people with visual impairments.

Conference at the Dodo office. Photo: Mikhail Rubanov

I met Armen Khatayan, who won one of our competitions. During a visit to the office, he made a number of comments regarding screen reader support and offered ideas for improving the accessibility of our application. Armen demonstrated the importance of considering the needs of users with disabilities and how this can improve the overall usability of the application. His suggestions helped us better understand how to make the interface more intuitive and accessible for all users.

We collaborated with Armen for three months, which proved beneficial for both parties. He learned about our development process, and we created several articles on design for people with visual impairments. A year later, Lera Kurmak invited me to share my experience adapting iOS apps in a course on digital accessibility.

I prepared for the course for three months, collecting the necessary materials. Ultimately, I created a 500-slide presentation containing code samples and video tutorials. After completing the first round of the course, I had the idea of ​​using the collected materials to create something useful, be it a website, a video series, an app, or another format. As a result, I decided to publish these materials as a book. This will not only systematize the information but also make it accessible to a wide audience interested in studying this topic.

Preparing the book took three months. We began releasing it in stages, starting with the publication of the first three chapters, which totaled 50 pages. Then, we edited and published one chapter each week. This year, several new chapters are planned to be added, expanding the book's content and deepening its theme.

Russian applications and services truly have impressive designs, which distinguish them from their foreign counterparts. However, attention to interface accessibility is essential to reach the highest global standards. A key issue is the insufficient consideration of the needs of visually impaired users. I strive to address this issue to ensure that more applications are usable by people with visual impairments and to eliminate the difficulties they encounter. Creating accessible interfaces will not only expand the audience but also improve overall user satisfaction.

The first hurdle to overcome is that many developers do not recognize the importance of accessibility for users. When the need for its implementation arises, there is often a request to justify the potential financial benefit to the company. However, the situation is changing in the field of web development, and more and more professionals are thinking about how to make websites accessible to all users. High-quality front-end developers understand that web content is perceived not only visually but also through specialized technologies like screen readers. Website accessibility isn't just a trend, but a necessity that helps attract a wider audience and improve the user experience. In mobile development, accessibility is a new and important topic, and we face many challenges that need to be addressed. However, by breaking through the "wall of misunderstanding," we are receiving valuable feedback. Developers are amazed by the breadth and depth of accessibility issues, as well as the capabilities the iPhone offers. Feedback from visually impaired users is especially valuable. Their advice significantly improves and expands the book's content. I am also pleased to hear their gratitude for the book's publication and for our active discussion of accessibility. This highlights the importance of creating inclusive solutions in mobile development.

Links to useful resources from Mikhail:

  • Book "About Accessibility in iOS"
  • Course on Digital Accessibility (new stream coming in February!)

Rework the text, preserving its core content, and optimize it for search engines. Avoid adding unnecessary information and symbols. Do not use numbers or special sections.

Read also:

  • How to adapt a website to different resolutions
  • Killing the Matrix in the bud: 7 arguments for arguing with an AI fan
  • Learning to layout: what is CSS