Table of Contents
Fetching ...

Developing Accessible Mobile Applications with Cross-Platform Development Frameworks

Sergio Mascetti, Mattia Ducci, Niccoló Cantù, Paolo Pecis, Dragan Ahmetovic

TL;DR

The paper investigates how cross-platform development frameworks handle accessibility for screen readers on mobile platforms. By systematically comparing iOS and Android native APIs with their implementations in React Native and Xamarin, it reveals substantial gaps: CPDFs wrap only a portion of native screen-reader APIs, necessitating platform-specific code and undermining one-code-for-all benefits. The authors provide sample implementations to access unwrapped APIs and discuss the substantial development effort required, offering a practical roadmap for future CPDF improvements and broader accessibility research. This work yields a technical reference of native accessibility APIs and highlights actionable steps to enhance CPDF support for assistive technologies, with implications for developers, OS vendors, and CPDF maintainers.

Abstract

This contribution investigates how cross-platform development frameworks (CPDF) support the creation of mobile applications that are accessible to people with visual impairments through screen readers. We first systematically analyze screen-reader APIs available in native iOS and Android, and we examine whether and at what level the same functionalities are available in two popular CPDF: Xamarin and React Native. This analysis unveils that there are many functionalities shared between native iOS and Android APIs, but most of them are not available in React Native or Xamarin. In particular, not even all basic APIs are exposed by the examined CPDF. Accessing the unavailable APIs is still possible, but it requires an additional effort by the developers who need to know native APIs and to write platform specific code, hence partially negating the advantages of CPDF. To address this problem, we consider a representative set of native APIs that cannot be directly accessed from React Native and Xamarin and show sample implementations for accessing them.

Developing Accessible Mobile Applications with Cross-Platform Development Frameworks

TL;DR

The paper investigates how cross-platform development frameworks handle accessibility for screen readers on mobile platforms. By systematically comparing iOS and Android native APIs with their implementations in React Native and Xamarin, it reveals substantial gaps: CPDFs wrap only a portion of native screen-reader APIs, necessitating platform-specific code and undermining one-code-for-all benefits. The authors provide sample implementations to access unwrapped APIs and discuss the substantial development effort required, offering a practical roadmap for future CPDF improvements and broader accessibility research. This work yields a technical reference of native accessibility APIs and highlights actionable steps to enhance CPDF support for assistive technologies, with implications for developers, OS vendors, and CPDF maintainers.

Abstract

This contribution investigates how cross-platform development frameworks (CPDF) support the creation of mobile applications that are accessible to people with visual impairments through screen readers. We first systematically analyze screen-reader APIs available in native iOS and Android, and we examine whether and at what level the same functionalities are available in two popular CPDF: Xamarin and React Native. This analysis unveils that there are many functionalities shared between native iOS and Android APIs, but most of them are not available in React Native or Xamarin. In particular, not even all basic APIs are exposed by the examined CPDF. Accessing the unavailable APIs is still possible, but it requires an additional effort by the developers who need to know native APIs and to write platform specific code, hence partially negating the advantages of CPDF. To address this problem, we consider a representative set of native APIs that cannot be directly accessed from React Native and Xamarin and show sample implementations for accessing them.

Paper Structure

This paper contains 23 sections, 2 figures, 4 tables.

Figures (2)

  • Figure 1: Xamarin API mapping
  • Figure 2: Examples of the samples applications