as3: Accessibility

Last revised: 9:39 PM Friday, January 31st, 2020
Assigned:
  • January 17th, 2020
Due:
  • Due February 5th, 2020, 10:00pm
  • Lock February 7th, 2020, 10:00pm

Android Goals:

  • Basics of Android assistive tools

HCI Goals:

  • App accessibility
  • Understanding of different accessibility issues
  • Simple repairs to accessibility issues
  • Write this up.

This assignment has two parts that are inter-related. One part involves finding all the accessibility problems and documenting them, the other involves fixing them. You will have to iterate on this – fixing one problem may uncover new ones. Also note that not all accessibility sisues can be found with the accessibliity scanner – it is a start only. You will also need to try things out with the screen reader to find everything.

GitGrade links

Classroom Summary

Links: Accept the Assignment / Turn-in the Assignment

Part 1

Tasks:

Accessibility is an important part of any app. Whether you are developing a new app or adding features to an existing one, it is important to consider the accessibility of your app’s components. Please read Table 2 on page 9 of Epidemiology as a Framework for Large-Scale Mobile Application Accessibility Assessment.

Please watch this quick video to learn how visually-impaired users interact with Android applications. The video also offers some tips on ensuring your app is compatible with assistive tools. Finally, you should read about proper alt text writing.

Consider the layout app (you will not be using your layout assignment during this assignment) that you worked on earlier this quarter (in the last assignment). The image does not have contentDescription property. Google’s Accessibility Scanner will classify this as “Item Label” error (defined in the paper above). Therefore, screen reader cannot read the alternative text of the image to people with visual impairments.

Screenshot of an image without contentDescription property in layout editor

The goal of part 1 of the assigment is to identify at least 10 accessibility issues within the given app, of which at least one can’t be found with the accessibliity scanner. Our example app may not have ALL issues in the table. Please use the Accessibility Scanner to detect defects in the app. For your reference, we identified at least 11 errors in the app. It is helpful to have basic understanding about Talkback and Switch Access, two built-in assistive tools on Android.

The Accessibility Scanner is decent with its suggested fixes, but if it is not obvious, for each element type, do some research to find all the attributes that help with accessibility.

Report

Your report should be structured as follows:

Title: Accessibility Report

Overview (1 paragraph)

Describe your experience using assistive tools while testing the accessibility of the app before and after fixing issues.

Issues (table)

For each issue that you identify within the app, document the following details:

Inaccessible UI element Issue type Fix

You can use the XML id for the element, or describe it very briefly (~3 words). Issue type should be drawn from the list in the reading. The fix should provide a brief description (1 sentence or so) of what you did. Here’s an example: "Remove the android:contentDescription"

If the fix involves alt text, you should include the alt text you added for each inaccessible UI element that required alt text.

Resources

Part 2

Tasks:

For each issue that you identified in the app, please repair it by modifying code or xml layout file. For reference, in the sample solution we ran the app through the Accessibility Scanner and identified and fixed 11 issues.

For any repairs involving strings, please add the strings.xml file with a new entry for the string, and then reference it. You can reference it by changing the contentDescription property in the layout editor, or calling the equivalent method (imageView.setContentDescription(...))

All of these changes only require modifying existing xml attributes or adding new ones; so it is not a programming heavy assignment and should only take you a couple of hours at most.

Turn-in

Submission Instructions

Part 1

Part 2

You will turn in the following files via GitGrade:

- MainActivity.java
- app_bar_main.xml
- content_main.xml
- nav_header_main.xml
- strings.xml
- colors.xml

Grading (20pts)