directional pad (D-pad) instead of touch. The activity
addresses another key form accessibility best practice—
automatically focusing on the first field in the form when
the screen loads.
• Speech-Based Accessibility (beginner): Through this simple
activity, developers learn how to associate descriptive text
with UI elements.
• UI Element Sizing & Spacing (beginner): This activity
involves small, moving buttons to simulate the behavior of a
user with hand tremors.
• Video Captions (beginner): One of the accessibility features
provided by the Android operating system is the ability to
render captions for videos. Among other settings, users
can set the default font size and colors of the captions. This
activity involves associating a pre-created captions file with
a pre-created video file.
• Text-to-Speech (intermediate): This activity incorporates
text-to-speech functionality to provide vision-impaired
users with speech-based feedback when the user interacts
with the UI elements or when the app performs an action.
• Speech Based Accessibility (intermediate): The purpose of
this activity is to demonstrate that Android’s speech-based
accessibility features are not limited to only providing static
text for UI elements that are spoken when touched.
• Color-Blind Safe Accessibility (intermediate): This activity
demonstrates the challenge faced by colorblind users using
a simple game. In this activity, colored circles move across
the screen, and a colorblind impaired user will not be able
to differentiate the colors of the circles. An example of this
activity is shown in Figure 2, and further details are below.
• Navigation Standards (advanced): Navigating within an app
can be challenging for users if the developer utilizes a custom
navigation approach. Android Studio includes a project
template that provides developers with the ability to build apps
that utilize a persistent “navigation drawer.” This UI element
provides developers with the ability to present a standard
navigation mechanism for users to navigate within the app.
• Non-audio Notifications (advanced): Deaf and hard-of-hearing users are challenged when utilizing apps that have
pure sound-based notifications. This activity involves the
use of Android’s vibration and LED API’s to provide alerts
to the user when a specific action/event occurs in the app.
EXAMPLE MODULE: COLOR-BLINDNESS
Color blindness or color vision deficiency (CVD) is the inability to
differentiate colors that normal color observers can distinguish.
There are three types of color blindness—monochromatism (or
achromatopsia), dichromatism, and anomalous trichromatism.
Studies show that 8% of Caucasian males, 5% of Asiatic males,
3% of African-American, and 3% of Native-American males are
color deficient. The most common form of CVD is the red-green
color blindness. Color is a pervasive component in Graphical
User Interfaces (GUIs) and is mainly used to enhance the visual
appeal of the software and to encode information (red, for in-
how to emulate the experiences of an individual with different
accessibility needs for a user without these needs. When pos-
sible, example apps contain a ‘toggle’ to allow the average user
to mimic the experiences of a person with a disability as closely
as possible while using the app. As an example, to demonstrate
the experience of a blind user, we will add a black overlay on
the top of the user interface and will activate the screen reader.
The screen reader, known as TalkBack on Android devices, is an
assistive technology that reads aloud the content of the screen
provided that the contents are accessible. Developers are ex-
pected to implement the accessibility guidelines when creating
the software so that user interface elements will be accessible
to the screen reader. For example, if software displays a but-
ton that does not have a description (alternate text), the screen
reader will recognize the existence of the button but will not
be able to provide the blind users any details about the pur-
pose of this button. Figure 2 demonstrates alternating what a
color-blind (deuteranopia) and non-color-blind user would ex-
perience (toggle feature surrounded by red box). The feature is
designed to not only create empathy for users with disabilities,
but to demonstrate the importance of creating accessible apps.
Once students experience the accessibility challenge, they are
provided with steps to repair the accessibility problem, including code or structural changes that are required. At the end of
each module, students attempt to recreate the accessibility issue,
frequently using the accessibility toggle feature. If they completed the activity correctly, they should no longer experience this
accessibility challenge. To verify that the accessibility defect has
been addressed properly, students can test the app using Google
Accessibility Scanner [ 5]. It is a free tool by Google that highlights accessibility defects in an app. This will not only demonstrate that the issue has been properly addressed, but more importantly provide a sense of accomplishment to the student.
Figure 2: Sample App Showing Accessibility Toggle
The following are some of the existing modules.
• Keyboard Navigation (beginner): In this activity, developers
will understand how to ensure that User Interface (UI)
elements contained in the app can be accessed by a