Book
  • Introduction
  • Welcome !!
  • Chapter 1: The mobile ecosystem
    • Fragmentation is the devil
    • There is more than one type of mobile app
    • ... more than one type of app
    • ... one type of app
    • Under pressure (ee da de da de) !!
    • Further reading!!
  • Chapter 2: Let's start with design thinking
    • A taste of design thinking
    • The five steps
    • Design for everybody
    • Accessibility in mobile apps
  • Chapter 3: Give me a context and I will give you an app
    • Users
    • Personas? Users ? What is the difference?
    • Please, help me to model the context
    • The context canvas
  • Chapter 4: Powerful models
    • Data architecture is the foundation of analytics
    • From data to information and knowledge
    • Information/Knowledge in our mobile ecosystem
    • Questions to ask yourselves when building and classifying questions
    • The visualization-data map
    • On the scene: describing how personas interact with your app
  • Chapter 5: A GUI is better than two thousand words
    • 'Good to Go:' Let's explore the Design Systems
    • Designing GUI Mocks
    • No prototype... no deal
  • Chapter 6: About mobile operating systems ... and other deamons
    • The Android OS ... son of LINUX
    • iOS son of Darwin? or is it iOS son of UNIX?
    • Kernels
  • Chapter 7: Yes, software architecture matters !!
    • Self-test time
    • About design and design constraints
    • Architects' mojo: styles and patterns
    • What you need is a tactic !!
    • Self-test time 2 (for real)
    • Further reading
  • Chapter 8: Finally... coding
    • MVC, MVVM, MV*, MV...What?
    • Programming models: the Android side
    • Hello Jetpack, my new friend... An Android Jetpack Introduction
    • Programming models: the iOS side
    • Controllers and more controllers
    • Flutter son of... simplicity
    • Programming models: Flutter?
    • Flutter: State matters... Let´s start simple
    • Flutter: State matters... Complex stuff ahead
    • Micro-optimizations
  • Chapter 9: Data pipeline
    • Generalities data pipelines
    • Data storage types
    • Types of data pipelines
  • Chapter 10: Error Retrieving Chapter 10
    • Eventual Connectivity on Mobile Apps
    • How to handle it on Android
  • Chapter 11: The jewel in the crown: Performance
    • As fast as a nail
    • Memory bloats
    • Energy leaks
    • Final thoughts
  • Chapter 12. Become a performance bugs exterminator
    • Weak or strong?
    • Micro-optimizations
    • The single thread game !!
    • Using multi-threading like a boss !!
    • Caching
    • Avoiding memory bloats
    • Further readings
Powered by GitBook
On this page
  1. Chapter 2: Let's start with design thinking

Accessibility in mobile apps


Mobile devices are the most personal devices nowadays. Thus, devices and apps should be designed for everyone. One step toward this ideal is to introduce accessibility features in your apps. The mobile development platforms provide accessibility features for users with different disabilities such as vision loss and hearing loss. ¿So, why do not you take a look to the accessibility features of your preffered mobile platform?. Here we give you a brief of the accessibility capabilities in iOS and Android, but once you start to build your apps it is better you have a deep knowledge of the guidelines and frameworks.

For more information on accessibility features in iOS you can check https://www.apple.com/accessibility/; for Android go to https://developer.android.com/guide/topics/ui/accessibility/

**iOS.** Accessibility is one of the principles Apple cares about, therefore, the Apple platform for mobile apps provides developers with different accessibility features that are inherent to the operating system. These features can be included into iOS apps with little effort, because the features are provided by the UIKit and MediaKit libraries.

In iOS, the *Kits are the frameworks available for programming iOS apps. For example, the UIKit is the one with the APIs for the user interface.

Some of the accessibility features that can be used in iOS apps are:

  • VoiceOver: it is a gesture-based "screen reader". VoiceOver allows users to listen an audible version of the alternative text defined for UI components (yes the alternative text matter) when the component is touched or swapped. VoiceOver is a very nice feature for helping people with vision disabilities to understand what is on the GUI and how to navigate it. Whatever you put in the alternative text is voiced when the VoiceOver feature is enabled in the device. So, remember to always add alternative text to the GUI components.

  • Adaptable GUI: apps with GUI components from UIKit are automatically adapted to accessibility preferences. It means, that no extra effort is required for adapting the GUI when the user choose to zoom-in, adjusts the fonts, invert colors, among others preferences.

  • Siri and Dictation: the former can be integrated into your apps to use voice input to control features; the latter converts user words into text. There is also a "Type to Siri" feature available since iOS 11.

Android. The mobile platform of the green robot also has accessibility APIs and services for universaly designed apps: TalkBack, VoiceAccess, Text-to-Speech, and SwitchAccess. TalkBack is similar to the VoiceOver feature in iOS; VoiceAccess allows users to control the device with spoken commands; Text-to-Speech synthesizes voice from text; and SwithAccess allows users to interact with Android devices using external hardware (e.g., switches, or keyboards). Something very cool in Android are the Lint and Accessibility Scanner tools that statically analyze your app and look for potential violations to accessibility guidelines.

PreviousDesign for everybodyNextChapter 3: Give me a context and I will give you an app

Last updated 1 year ago