[Homeros] I: Ресурсы по вспомогательным технологиям Android

Michael Pozhidaev msp на altlinux.ru
Ср Апр 11 00:11:59 MSK 2012


Приветствую всех!

Разработчики Android создали два новых ресурса, посвящённых
вспомогательным технологиям:

1. Accessibility Developer Guide:
http://developer.android.com/guide/topics/ui/accessibility/index.html

2. Implementing Accessibility Training:
http://developer.android.com/training/accessibility/index.html

Источник:
Accessibility: Are You Serving All Your Users?
http://feedproxy.google.com/~r/blogspot/hsDu/~3/-xUuTWMwlZ8/accessibility-are-you-serving-all-your.html

   We recently published some new resources to help developers make their
   Android applications more accessible:

     * 

       [2] Accessibility Developer Guide

     * 

       [3] Implementing Accessibility Training

   “But,” you may be thinking, “What is accessibility, exactly? Why
   should I make it a priority? How do I do it? And most importantly, how
   do I spell it?” All good questions. Let’s hit some of the key points.

   Accessibility is about making sure that Android users who have limited
   vision or other physical impairments can use your application just as
   well as all those folks in line at the supermarket checking email on
   their phones. It’s also about the Mom over in the produce section
   whose kids are driving her to distraction, and really needs to see
   that critical notification your application is trying to deliver. It’s
   also about you, in the future; Is your eyesight getting better over
   time? How about that hand-eye coordination?

   When it comes down to it, making an application accessible is about
   having a deep commitment to usability, getting the details right and
   delighting your users. It also means stepping into new territory and
   getting a different perspective on your application. Try it out: Open
   up an application you developed (or your all-time favorite app), then
   close your eyes and try to complete a task. No peeking! A little
   challenging, right?


   How Android Enables Accessibility

   One of main ways that Android enables accessibility is by allowing
   users to hear spoken feedback that announces the content of user
   interface components as they interact with applications. This spoken
   feedback is provided by an accessibility service called [4] TalkBack,
   which is available for free on Google Play and has become a standard
   component of recent Android releases.

   Now [5] enable TalkBack, and try that eyes-closed experiment again.
   Being able to hear your application’s interface probably makes this
   experiment a little easier, but it’s still challenging. This type of
   interaction is how many folks with limited vision use their Android
   devices every day. The spoken feedback works because all the user
   interface components provided by the Android framework are built so
   they can provide descriptions of themselves to accessibility services
   like TalkBack.

   Another key element of accessibility on Android devices is the ability
   to use alternative navigation. Many users prefer directional
   controllers such as D-pads, trackballs or keyboard arrows because it
   allows them to make discrete, predictable movements through a user
   interface. You can try out directional control with your apps using
   the virtual keyboard in the [6] Android emulator or by installing and
   enabling the [7] Eyes-Free Keyboard on your device. Android enables
   this type of navigation by default, but you, as a developer, may need
   to take a few steps to make sure users can effectively navigate your
   app this way.


   How to Make Your Application Accessible

   It would be great to be able to give you a standard recipe for
   accessibility, but the truth of the matter is that the right answer
   depends on the design and functionality of your application. Here are
   some key steps for ensuring that your application is accessible:

     1. 

       _Task flows:_ Design well-defined, clear task flows with minimal
       navigation steps, especially for major user tasks, and make sure
       those tasks are navigable via focus controls (see item 4).

     2. _Action target size:_ Make sure buttons and selectable areas are
       of sufficient size for users to easily touch them, especially for
       critical actions. How big? We recommend that touch targets be [8] 48dp
       (roughly 9mm) or larger.

     3. 

       _Label user interface controls:_ [9] Label user interface
       components that do not have visible text, especially [10] ImageButton,
       [11] ImageView, and [12] EditText components. Use the [13] android:contentDescription
       XML layout attribute or [13] setContentDescription() to provide
       this information for accessibility services.

     4. 

       _Enable focus-based navigation:_ Make sure [14] users can navigate
       your screen layouts using hardware-based or software directional
       controls (D-pads, trackballs and keyboards). In a few cases, you
       may need to make UI components [15] focusable or change the [16] focus
       order to be more logical.

     5. 

       _Use framework-provided controls:_ Use Android's built-in user
       interface controls whenever possible, as these components provide
       accessibility support by default.

     6. 

       _Custom view controls:_ If you build [17] custom interface
       controls for your application, [18] implement accessibility
       interfaces for your custom views and provide text labels for the
       controls.

     7. 

       _Test:_ Checking off the items on this list doesn’t guarantee your
       app is accessible. [19] Test accessibility by attempting to
       navigate your application using directional controls, and also try
       eyes free navigation with the TalkBack service enabled.

   Here’s an example of implementing some basic accessibility features
   for an ImageButton inside an XML layout:

   <ImageButton
       android:id="@+id/add_note_button"
       android:src="@drawable/add_note_image"
       android:contentDescription="@string/add_note_description"/>   

   Notice that we’ve added a content description that accessibility
   services can use to provide an audible explanation of the button.
   Users can navigate to this button and activate it with directional
   controls, because ImageButton objects are focusable by default (so you
   don’t have to include the android:focusable="true" attribute).

   The good news is that, in most cases, implementing accessibility isn’t
   about radically restructuring your application, but rather working
   through the subtle details of accessibility. Making sure your
   application is accessible is an opportunity to look at your app from a
   different perspective, improve the overall quality of your app and
   ensure that all your users have a great experience.

   [20] [IMAGE] [21] [IMAGE][IMAGE]

   [0] https://plus.google.com/103507786235300238642/posts
   [1] http://developer.android.com/
   [2] http://developer.android.com/guide/topics/ui/accessibility/index.html
   [3] http://developer.android.com/training/accessibility/index.html
   [4] https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback
   [5] http://developer.android.com/guide/topics/ui/accessibility/apps.html#test-audibles
   [6] http://developer.android.com/guide/developing/devices/emulator.html
   [7] https://play.google.com/store/apps/details?id=com.googlecode.eyesfree.inputmethod.latin
   [8] http://developer.android.com/design/style/metrics-grids.html#48dp-rhythm
   [9] http://developer.android.com/guide/topics/ui/accessibility/apps.html#label-ui
   [10] http://developer.android.com/reference/android/widget/ImageButton.html
   [11] http://developer.android.com/reference/android/widget/ImageView.html
   [12] http://developer.android.com/reference/android/widget/EditText.html
   [13] http://developer.android.com/reference/android/view/View.html#attr_android:contentDescription
   [14] http://developer.android.com/guide/topics/ui/accessibility/apps.html#focus-nav
   [15] http://developer.android.com/reference/android/view/View.html#attr_android:focusable
   [16] http://developer.android.com/guide/topics/ui/accessibility/apps.html#focus-order
   [17] http://developer.android.com/guide/topics/ui/custom-components.html
   [18] http://developer.android.com/guide/topics/ui/accessibility/apps.html#custom-views
   [19] http://developer.android.com/guide/topics/ui/accessibility/apps.html#test
   [20] http://feeds.feedburner.com/~ff/blogspot/hsDu?a=-xUuTWMwlZ8:JgryyKJUIW0:yIl2AUoC8zA
   [21] http://feeds.feedburner.com/~ff/blogspot/hsDu?a=-xUuTWMwlZ8:JgryyKJUIW0:-BTjWOF_DHI

-- 
Michael Pozhidaev. Tomsk, Russia.
Russian info page: http://www.marigostra.ru/


Подробная информация о списке рассылки Homeros