Native Mobile Accessibility Tutorials

2. Operable

2.4.5 Multiple Ways: More than one way is available to locate a Web page within a set of Web pages except where the Web Page is the result of, or a step in, a process. (Level AA)

Success Criteria

Make it possible for users to locate content in a manner that best meets their needs. Users may find one technique easier or more comprehensible to use than another.

Even small apps should provide users some means of orientation. For a three or four page apps, with all pages linked from the home page, it may be sufficient simply to provide links from and to the home page where the links on the home page can also serve as a site map.


  AMA Library Tutorial


Add a Sitemap to your App

Adding a sitemap to your mobile application can be extremely effective for users who experience cognitive disabilities. This allows users to view all of the different pages of your app at once and serve as an alternate method for navigation including those dependent on voice and gesture input.

Steps:
  1. Enable the AMA Accessibility Menu
  2. Provide a Sitemap
  3. Show the AMA Accessibiity Menu

Step 1: Enable the AMA Accessibility Menu

The AMA Accessibility Menu is a floating menu that provides alternate and robust functionality for users. The menu works across AMA apps and stores user's preferences to provide a streamlines accessible experience.

To enable the AMA Accessibility Menu:

a. Extend your Activity with AccessibleAppCompatActivity

    public class MainActivity extends AccessibleAppCompatActivity {
            ...
    }

b. Enable the AMA Accessibility Menu

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        ...

        enableMenu(); // Note that you must enabled the menu before configuring
    }

Step 2: Provide a Sitemap

a. Generate a list of your Intents for each of your Activities

b. Pass your list of Intents to AMA to create a sitemap

    /**
     * Generates a list of intents which can be called to access other
     * parts of the application.
     */
    private void generateIntentList() {

        IntentEntry thisIntent =
                new IntentEntry("Main Activity", new Intent(this, MainActivity.class));
        IntentEntry otherIntent =
                new IntentEntry("Other Activity", new Intent(this, OtherActivity.class));

        this.giveSitemap("Accessible App Sitemap", thisIntent, otherIntent);

    }

Step 3: Show the AMA Accessibility Menu

a. Show the AMA Accessibility Menu

   @Override
    protected void onCreate(Bundle savedInstanceState) {

        ...

        showMenu();
    }

And your done!