Code

A Yandex Android developer discusses accessible mobile app development

A Yandex Android developer discusses accessible mobile app development

Free Course: "Quick Start in Python"

Learn More

Viktor Vikhrov is a renowned figure in his field. His achievements and contributions to the development of his profession deserve special attention. Victor is actively engaged in research, implements innovative approaches, and shares his experience with colleagues and students. His work is distinguished by its high quality and scientific validity, making it valuable to specialists and researchers. Thanks to his efforts, Viktor Vikhrov has become an authority in the professional community and continues to inspire others to achieve success in their careers.

An expert in his field has deep knowledge and many years of experience, which allows him to provide qualified Consultations and recommendations. He monitors current trends and participates in various conferences and seminars, which helps him stay at the forefront of innovation. Thanks to his professional activities, the expert is able to solve complex problems and offer effective solutions that meet client needs. His approach is based on analysis and understanding of the specifics of each project, which ensures a personalized and targeted approach. The expert actively shares his experience through articles, webinars, and training courses, which helps improve the skills of other specialists in this field. An Android developer at Yandex Go with experience in IT education. For three years, he taught at the Samsung IT school, teaching high school students the basics of programming and application development. I am one of the speakers of a course on digital accessibility, which emphasizes my commitment to creating inclusive technologies. Links play a key role on the internet, providing navigation and connections between different web pages. They help users find the information they need and improve interaction with content. Links are also important for their ability to improve a site's visibility in search engines, which is critical for SEO. Internal links pointing to other pages on your site help retain visitors and reduce bounce rates. External links pointing to authoritative resources can increase the trustworthiness of your content and improve its ranking. Proper use of anchor text, which describes what the user expects when clicking a link, is also important for optimization. Effective links not only improve the user experience but also drive traffic, which ultimately leads to higher conversions. Blind and visually impaired people need accessible apps to help them in their daily lives. It's a mistake to think that they don't shop, pay bills, or use social media like Instagram because they lack vision. These people have the same needs as everyone else and deserve equal access to products and services. It's important that technology and apps are developed with their needs in mind, ensuring usability and accessibility for all users.

Many companies are reluctant to invest in adapting their services for the visually impaired, believing that this user group is not their target audience and that their numbers are insignificant. However, this view is superficial. In fact, the number of visually impaired people is significantly higher than it might seem at first glance. A review of statistics shows that this audience represents an important market segment that cannot be ignored. Investments in accessibility can not only improve a company's image but also expand its customer base, which ultimately leads to increased profits.

Blind and visually impaired people have friends and acquaintances who can share their experiences using various applications. They may say, "This app is bad, don't use it." This community actively exchanges information and recommendations. Users share their findings, recommending convenient and accessible applications that make everyday life easier.

Changes in legislation are being observed aimed at ensuring equal access for all users. Businesses are now required to provide versions of their applications with the same functionality. For example, if an app for visually impaired users does not have a full range of features, this could lead to legal consequences and lawsuits. It is important to consider these aspects when developing software to avoid violations and ensure inclusivity for all categories of users.

Is it difficult to make an app accessible?

The cost of developing and maintaining an accessible app cannot be universally calculated, as it depends on many factors. Key aspects include whether the project is being developed from scratch or an existing one is being modified, the presence of non-standard UI elements, and the need to redesign inaccessible interfaces. Each of these factors can significantly affect the final cost of the project, so it is important to consider them when planning the development of an accessible app.

I will consider two options.

Creating an app from scratch is a task that requires a deep understanding of standard Android components, since unique development is not so common. Making a product accessible and attractive to users requires taking several key aspects into account, which will undoubtedly require significant resources from the development team. It is essential to focus on optimizing the user interface and ensuring high performance, which will ultimately increase the app's competitiveness in the market. Optimizing existing projects requires careful consideration, especially if they contain non-standard elements. Older projects often lack a clearly developed design system or are still in the process of implementing one. This makes the rework process longer and more complex. It is recommended to first identify the app's key use cases and focus on improving them, then gradually release the remaining functional elements. This approach will allow you to effectively update the project and improve the user experience. Having a design system significantly simplifies the development process. The app's user interface is based on existing components, ensuring consistency and quality. The availability of these components positively impacts the overall interface of the entire app. If new unique elements are added in the future, rework will be required, but app maintenance will become significantly easier and less expensive. Investing in creating and maintaining a design system improves not only visual perception but also functionality, which ultimately increases user satisfaction.

The primary goal of accessibility is to ensure that users with visual impairments can fully utilize all of the app's features. This process can be implemented in stages: initially, adding labels to interface elements is essential, and then improving other aspects of accessibility in subsequent iterations. This approach will gradually create an inclusive and user-friendly interface for all users.

Who is responsible for accessibility: a designer or a developer?

When creating an accessible app, it's important that the entire team is involved in the process, rather than relying on just one person, like Vasya. If accessibility is implemented by just one developer, other team members may implement a multitude of new features while they're working on it, resulting in the need for repeated accessibility work. To avoid such situations, it's necessary to integrate accessibility principles into the entire team's workflows. This will not only save time, but also improve the quality of the final product, making it more convenient for all users.

Application accessibility is the responsibility of the entire team. Every developer must understand the basic principles of accessibility and follow established guidelines. Otherwise, if a team member ignores these aspects, over time the application may lose its functionality and usability for users with special needs. Ensuring accessibility is not only an obligation but also the key to successful interaction with the audience.

Accessibility begins with the UX designer, who is responsible for the visual perception of the interface by the end user. The main task of an Android developer is to implement design solutions, especially when it comes to creating unique components not included in the standard Android library. This can be time-consuming, so close coordination between the UX designer and the developer is essential to achieve optimal results. Proper collaboration between these specialists contributes to the creation of an intuitive and accessible interface, which in turn increases user satisfaction and improves the overall productivity of the application.

Back-end developers must be aware of all aspects of development. They actively participate in the process, including adding new fields for image captions from the backend. This collaboration between frontend and backend developers ensures a higher-quality and more functional product.

An example of high-quality work is the IKEA app, in which each interior photo is accompanied by a detailed description. If the image depicts a table and two wine glasses, this is clearly stated in the caption. The backend developers' job was to create fields for image descriptions, which the app then reads aloud. Thus, the app not only displays visual content but also ensures accessibility for users with disabilities.

How is accessibility in Yandex Go?

In 2018, I attended a workshop on app accessibility, featuring experts Valeria Kurmak, head of inclusion at Yandex, and Anatoly Popko, one of the authors of the Russian standard for digital content accessibility. At this event, I learned about how blind users interact with smartphones and recognized existing problems in my app. This knowledge became an important step towards creating a more inclusive product that takes into account the needs of all users.

I contacted the Yandex Go product manager and informed him that I had noticed shortcomings in the accessibility of our product at a recent conference. During the conversation, it became clear that accessibility improvements were already in development and planned for implementation.

In 2019, we made our app accessible, which immediately attracted positive feedback from blind users. Over the past two years, we have significantly updated the interface and added new features, but not all of them were accessible. At the end of 2020, we realized the need to refocus on accessibility issues.

Initially, I consulted with Valeria Kurmak, and then, with my own developments, I decided to take the course as a speaker. Throughout 2021, we have been actively working to improve accessibility in Yandex Go. I shared my experience with the team, which contributed to improving the quality of the service and increasing its accessibility for users.

Each developer contributes to the accessibility of our app. When one team makes changes to their part of the project, the other teams are notified. I am confident that this new collaboration model will help us avoid the mistakes of the past, and the app will remain accessible throughout its lifespan. This will ensure a better user experience and increase customer satisfaction.

We've labeled images and elements to make their purpose clear to users. Now everyone can easily distinguish a button from a switch and determine whether a checkbox is checked. By making all design system components accessible, the process of developing the new user interface has been significantly simplified. This contributes to improved usability and a better user experience.

By November 13, 2021, International Day of the Blind, support for screen readers was implemented in the Yandex Go app. We continue to actively monitor and ensure that all existing and new interface elements remain accessible to users with visual impairments. Our goal is to ensure the convenience and accessibility of the service for all users, including those with visual impairments.

Where to learn how to make apps accessible

Experienced developers have extensive skills and intuition, which allows them to automatically select optimal approaches to design, screen layout, and the implementation of necessary checks. However, they have a unique opportunity to increase their expertise by mastering the development of accessible apps. App accessibility not only expands the user base but also improves the user experience. Integrating accessibility principles into the development process contributes to the creation of more inclusive solutions that can be used by everyone, including people with disabilities. Learning accessible practices will be an important step towards improving skills and increasing competitiveness in the development market.

When researching accessibility, I initially encountered limited information, mostly little-known reports. However, over time, Google began actively publishing materials on this topic. Their documentation covers many basic accessibility principles, and there's also a playlist of short videos that dive into specific examples, such as optimizing data entry fields. These resources are becoming essential tools for developers looking to create more accessible web apps and websites.

A useful book on app accessibility is "Android Accessibility by Tutorials" by Victoria Gonda. Airbnb also has an interesting article detailing the process of creating an accessible app. I plan to publish my own articles on accessibility soon, using the "Yandex Go" app as an example.

The developers of the IKEA mobile app did an excellent job, and I'm impressed with the quality of the implementation. It's important to consider successful accessibility examples such as Airbnb, YouTube, and Netflix, which have effectively integrated accessible features for users. These companies demonstrate how to approach accessibility correctly, creating a comfortable experience for all users. Implementing experiences like these could significantly improve the IKEA app experience, making it more convenient and intuitive.

In November 2021, I presented a talk at the Mobius conference on adapting Android apps for blind users. Mikhail Rubanov from Dodo Engineering presented on accessibility in iOS. We hope our presentations inspired the audience to implement accessibility principles in their apps. Mikhail and I also teach a course on digital accessibility, training professionals to create inclusive technologies.

Many developers strive to improve the world by creating convenient and accessible services. Ensuring that blind people can use products requires only a small effort from all companies. If each of them contributes to accessibility, this will lead to significant changes and an improved quality of life for many users.

Reading is an important aspect of our lives, as it not only broadens our horizons but also promotes critical thinking. Regularly reading books, articles, and other materials helps deepen knowledge in various fields and improve skills in analyzing and synthesizing information. In today's world, where access to information has become easier, reading helps keep up-to-date with current events and trends. So, take the time to read and share your interesting discoveries with others.

  • 35 books on mobile development for Android and iOS
  • Work-life balance for the little ones
  • Turning Vim into a full-fledged Python IDE