[nfbcs] Enabling accessibility - Building Windows 8 - Site Home - MSDN Blogs

Curtis Chong curtischong at earthlink.net
Fri Feb 17 01:34:39 UTC 2012


 

http://blogs.msdn.com/b/b8/archive/2012/02/14/enabling-accessibility.aspx


Enabling accessibility


Windows 8 is a product we design for an incredibly broad spectrum of people
around the world. One of the areas where we have worked to deliver an even
greater level of innovation is in ensuring that Windows 8, particularly the
new Metro style experience, is accessible to everyone regardless of their
physical abilities. In this post we will talk about the engineering work
that goes into the features we refer to as "accessibility" - though as you
will see, many of these features are broadly applicable and just make the
product better for everyone. If you are interested in Microsoft's overall
efforts in accessibility and related topics, please be sure to check out
<http://www.microsoft.com/enable> www.microsoft.com/enable. This post is
especially important for developers building Metro style apps for inclusion
in the Windows Store, as we are asking you to test the accessibility of your
application prior to submission. I encourage folks who have never seen these
tools in action to learn about them through the video. The upcoming beta
will be a great chance for everyone to experience the product. 

An important note.  With the next public release of code (later this month)
we will see a significant improvement in the capabilities described in this
post, but we still have work to do between beta and RC especially with
regards to working with the latest releases of third party tools. I just
want to make sure folks know that this post talks about improvements in the
next release as well as functionality that will still be improving as we get
to the release candidate.

This post was authored by Jennifer Norberg, a senior program manager lead on
our HID team. 

--Steven 


  _____  


We want all users to be able to experience Windows 8 Metro style apps on
their desktops, laptops, or the new touch-capable devices. This includes
people with disabilities who rely on assistive technologies to use the PC.

About 15% of the world's population has a disability1. In the United States
alone, 49.6 million people have a disability2 and 45 million in Europe3.
When it comes to interacting with computers, these disabilities affect
individuals in a number of ways:

*	Visual impairments include color vision deficiency, low-vision and
blindness - all of which may impact the individual's ability to see content
displayed on the screen.
*	Mobility impairments include arthritis, cerebral palsy, Parkinson's
disease, multiple sclerosis, and paraplegia, which impact the ability to use
the keyboard and/or mouse to interact with the PC.
*	Hearing impairments include conditions ranging from mild hearing
loss to total deafness, and impact the individual's ability to experience
audio content generated by the computer.
*	Cognitive impairments impact an individual's learning and language
skills, the ability to comprehend words, and difficulty with memory, solving
problems, or perceiving sensory information.

The rates of individuals with disabilities are also increasing across the
world due to the aging population and increases in chronic health
conditions. One of the consequences of the global aging phenomena is the
impact it will have on the workforce. For example, in the US, workers aged
55 and older are anticipated to increase from 18.1 to 23.9 percent by 20185.
That is more than one in five workers. Functional limitations as a result of
aging (for example, presbyopia, the gradual loss of the eyes' ability to
focus actively on nearby objects, a condition that usually becomes
noticeable in one's mid-40s and continues to worsen until around age 65)
will impact an older workforce's ability to use technology that isn't easy
to see. As a result, there will be an increase in the number of working-age
adults who are likely to benefit from the use of accessible technology. 

New technologies and designs are especially difficult for people with
disabilities to adopt because many new technologies are not made accessible
when they are first released to the public. We have heard this concern about
previous versions of Windows and we want to ensure that everyone can
experience Windows 8 right away by providing a comprehensive accessibility
platform for the desktop and Metro style features.

Our accessibility goals in Windows 8 are to:

1.      Improve the assistive technologies that are components of Windows,
and provide a good experience with the Metro style UI.

2.     Provide developer tools that have baseline accessibility built in, so
that accessible Metro style apps are available in the Store.

3.     Engage assistive technology vendors (ATVs) to adopt Windows 8 and
build upon the accessibility scenarios.

Each of these goals and audiences are discussed in detail in this blog.


Past investments in accessibility


Before we look forward, let's look back on the history of accessibility in
Windows. In past releases, we established a foundation called UI Automation
(UIA). UIA is used by developers to provide information about their code,
and it's how assistive technologies (ATs) access and use the information
from the developers applications.

We've also shipped ATs as components of Windows:

*	Narrator is Windows' built-in screen reader that allows people with
visual impairments to interact with their system and applications. User
feedback on previous versions of Narrator has consistently been that it
needs to respond faster, read more controls, and support more languages.
*	Magnifier is a tool in Windows to make text and graphics large
enough to see for people with low vision. This was initially shipped in
Windows 98, and was updated significantly in Windows 7 with the ability to
magnify the full screen. This change received positive feedback. However,
there were still issues with Magnifier, as it sometimes conflicted with
settings for High Contrast colors.
*	Speech recognition initially shipped in Windows Vista to aid people
with mobility impairments to navigate and use their PC. User feedback on
this feature has been really positive, telling us that the accuracy in
speech recognition is good, it transcribes your voice to text quickly, and
it is able to handle some uncommon words.
*	On-screen keyboard has been available to those with mobility
impairments since Windows XP.

While these Windows ATs cover a range of impairments, Windows depends on the
rich ecosystem of AT vendors to cover the broad diversity of disabilities,
and fully supports innovation in the ecosystem. This does not change with
this new release of Windows. While we have focused on improving the ATs that
we provide as Windows components and are providing support for new scenarios
like the Metro style UI, we are also continuing to provide a rich platform
and ecosystem where AT vendors can thrive.


Accessibility improvements in Windows 8


With each new release, we collate and respond to user feedback. It is clear
that users want richer AT offerings to be included with Windows 8. In this
release, we invested in the following areas to support this feedback:

*	We redesigned Narrator to improve its performance so that it quickly
reads out what you have selected.
*	We added morel languages and voices to Narrator to support
additional countries and preferences.
*	We updated components and features within Windows to leverage UI
Automation that allows them to be read by Narrator.
*	We updated UI Automation (UIA) with more text patterns and document
content so that Narrator can use it to read the outputs from applications.

We focused the above improvements specifically to address two key scenarios:

1.      Installing, setting up, and configuring your PC: Using an existing
Windows 7 PC, turn on Narrator by opening Ease of Access and selecting
Narrator. Then go to the webpage that hosts the Windows 8 download and
install point ( <http://msdn.microsoft.com/en-us/windows/apps/br229516/>
download Windows 8 Developer Preview here), and walk through the setup with
Narrator speaking to you. There are still a few bugs in the process that we
are working on. But this now provides you with the ability to install using
Narrator. 

Narrator has some new configuration options in Windows 8. You can select a
voice, change the speed at which it speaks, create customizable commands,
and specify some other aspects of Narrator's behavior. 

 
<http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-
weblogfiles/00-00-01-29-43-metablogapi/5074.Narrator_5F00_3DA1A618.jpg> Tap
twice with 3 fingers to review the full set of touch gestures supported by
Narrator. Drag a single finger around the screen to hear the item under your
finger. Or, on a keyboard, press Windows + Alt + F1 to review the full set
of Narrator commands. General. Change how Narrator starts and other standard
settings. Navigation. Change how you interact with the system with Narrator.
Voice. Change the speed, pitch, or volume of the current voice or choose a
new voice. Commands. Create customizable keyboard commands.
Narrator main screen to configure settings


Right out-of-the-box with a new Windows 8 tablet, you will be able to press
the Windows logo key and Volume Up to launch Narrator and walk through the
setup of your machine. Whether you're blind, have low vision, or are fully
sighted, you'll be able to start experiencing a Windows 8 tablet from the
moment you get it.

2.     Web browsing: Previously Narrator didn't say much on webpages, and it
was slow. But with the updates in Internet Explorer to leverage text
patterns built into the UI Automation platform, and with additional
performance updates, Narrator keeps up with you as you explore text on a
webpage. Narrator provides you with the ability to continuously read a page
(Use the Windows logo key + Alt + \ to invoke the reading) and then responds
quickly to commands such as Ctrl, which will instantly stop Narrator from
speaking. This allows you to interact with a control like a hyperlink
(Windows logo key +Alt + Enter tells Narrator to select the hyperlink, and
Windows logo key + Alt + Space navigates to the linked page).

In addition to addressing user feedback, a significant amount of work went
into making sure that Metro style apps could also be accessible.


Evolving the accessibility platform for developers


Making Windows accessible while features are being built is challenging, and
doing this while introducing a whole new development platform is even more
difficult. However, we wanted users with disabilities to enjoy Metro style
experiences right away (compare this to the Win32 platform, which took many
years and multiple releases to become accessible).

As a start, we updated our accessibility foundation with support for
industry standards. By supporting standards from the Web Accessibility
Initiative, Accessible Rich Internet Applications (ARIA), HTML5, and XAML,
it is easier for developers to code accessibility into their applications
and for the ATs using UI Automation to consume the information that makes
accessibility scenarios work on Windows 8.

This is in contrast to previous releases, where AT vendors used different
"creative" ways of getting information from the system, in order to
manipulate it and present it to their users. While a variety of approaches
can provide rich experiences for users, it also creates a problem when
non-standard approaches have to change in a new release. This is why we
needed to create a strong foundation within the platform that leverages the
existing coding standards (to which developers should adhere), and that can
also be consistent from release to release. AT developers who use the
platform can then reliably get accessibility information and don't have to
do any special tricks or coding.

 
<http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-
weblogfiles/00-00-01-29-43-metablogapi/5460.clip_5F00_image004_5F00_7F4785C9
.png> Users, with 2-headed arrow to Assistive Technologies (screen reader,
magnifier, etc.); with 2-headed arrow to Accessibility API (UI Automation)
on the Platform; this in turn has two sets of arrows: one to Metro style
apps, and one to desktop applications.Diagram of developer, platform, and AT
required to provide information to the user

With a consistent platform, developers of Metro style features within
Windows can now leverage the standards and platform to ensure their
components are accessible. While the features are designed, developed, and
tested, we continually track the progress made towards accessibility. When
we released the build for the Windows 8 Developer Preview, the team had been
working on accessibility. However, we still had bugs that impacted High
Contrast, keyboard navigation, and programmatic data for the ATs to consume.
We are by no means done, and we continue to drive the accessibility
requirements across the team to ensure we meet our goals. In each public
release of Windows 8, you will see improvements being made in this area.

The Metro style UI is a new experience for Windows, and gives us an
opportunity to present accessibility settings in a new way. This opportunity
allowed us to simplify and optimize the key settings that people with
disabilities depend on to manage their experience.

For example, we have a new way to toggle settings for high contrast, which
is easier to discover and simpler to apply. We also made it easier to adjust
the size of UI elements to be bigger, and take care of the DPI scaling
settings for you, so you don't have to manage it manually. We think
simplifying these settings will help a large set of users.


Developers creating and selling accessible apps


With Metro style apps, developers have an incredible opportunity to improve
the accessibility ecosystem by creating and selling apps that meet a
<http://msdn.microsoft.com/en-us/library/windows/apps/hh452679(v=VS.85).aspx
> baseline of accessibility.

Fortunately, developers don't need to learn new technologies to make their
apps accessible. We rely on existing standards to reduce the learning curve
for building accessible apps. HTML apps rely on the public HTML5 standard,
which includes  <http://www.w3.org/WAI/intro/aria> ARIA (a markup schema
designed for declaring accessibility information). Likewise with XAML apps,
we use the well-known markup schema used by similar platforms like
Silverlight and Windows Presentation Framework (WPF). Additionally, the dev
platform and tools shipped for Windows 8 support making an accessible app
through every step of the development process:

*	Creating: When creating a project using one of the
<http://msdn.microsoft.com/en-us/library/windows/apps/hh465293#project_templ
ates> project templates from Visual Studio Express, the code is
accessibility-ready. This means that you can immediately use it with a
screen reader (Narrator), it is fully usable with a keyboard, it works well
in High Contrast mode, and it is visually accessible for text contrast and
color. This gives the developer a great starting point towards building an
accessible app.
*	Coding: During coding of an app, there is additional support offered
by the platform and tools: 

*	Use Visual Studio Express IntelliSense to type
<http://www.w3.org/WAI/PF/aria/appendices#quickref> accessibility attributes
quickly and declare accessibility information in the markup.
*	Accessibility support is built into the Windows 8 controls. In most
cases, all you need to do is define a good
<http://msdn.microsoft.com/en-us/library/windows/apps/hh452677(v=VS.85).aspx
> accessible name.
*	Use the Dev Center
<http://msdn.microsoft.com/en-us/library/windows/apps/hh452681(v=VS.85).aspx
> guidelines and
<http://code.msdn.microsoft.com/windowsapps/site/search?query=accessibility%
20or%20%22high%20contrast%22%20or%20aria&f%5B0%5D.Value=accessibility%20or%2
0%22high%20contrast%22%20or%20aria&f%5B0%5D.Type=SearchText&ac=8> samples to
learn best practices and copy/paste accessible code.

At this point you are probably thinking: how can these efforts possibly work
for interactive games or HTML5 Canvas based apps? You're right; there are
still classes of apps in which implementing accessibility will be more
challenging than just leveraging the tools and templates. To help address
these cases, we will continue to work with the developer community, post
custom solutions, and expand accessibility guidelines with more examples.

*	Testing: When your app is ready for testing, use the Windows SDK
accessibility testing tools to validate the markup. The Dev Center
documentation also offers guidelines about
<http://msdn.microsoft.com/en-us/library/windows/apps/hh452726(v=VS.85).aspx
> testing a Metro style app for accessibility.
*	Selling: Once the app is complete, if it meets the baseline
accessibility scenarios, you can declare it as accessible during the Windows
Store publishing process by selecting the Accessibility check box. This will
allow users looking for accessible apps to easily find them in the Store.

When developers build an application for Windows 8, they should follow this
process and ensure their apps do the following to reach the accessibility
community:

*	Support the standards. Ensure people with low vision or those who
are fully blind can use a screen reader such as Narrator to accomplish the
main scenarios offered by the app. The screen readers will leverage UIA and
the standards discussed above to get information from the apps.
*	Make keyboard shortcuts. Ensure people with mobility impairments or
users of screen readers that prefer keyboard navigation can use a keyboard
to interact with the app and its UI elements. This includes navigating with
the Tab and arrow keys; activations with Spacebar and Enter keys; and the
use of shortcuts (access keys and accelerators).
*	Support high contrast and "make it bigger." Ensure people with
moderate visual impairments can distinguish the UI and text with sufficient
text contrast ratios, and a good high contrast mode; and respect layout
settings when the "Make everything on your screen bigger" mode is active.

For more information, check out this //build presentation on
<http://channel9.msdn.com/Events/BUILD/BUILD2011/APP-843T> creating
accessible Metro style apps, and get started creating your own app.


Discovering accessible Windows 8 apps


Users will be able to set an accessibility filter in the Windows Store that
will allow them to discover the apps that have been declared accessible by
the developer. Additionally, users will be able to provide comments and
ratings to help each other find the apps that are most accessible, and to
help the developer understand how well they did in making their apps
accessible


Adapting accessibility features for new form factors


One of the most exciting changes in Windows 8 is the introduction of
touch-only devices into the Windows family. And, as with all form factors
that Windows supports, we want these new touch-only devices to be
accessible. As a result, we spent a considerable amount of time planning
what it would take to make our Windows ATs useful on touch-only devices,
mainly through the adaptation of the Magnifier and Narrator features.


Magnify your screen and navigate using touch


Magnifier can be used in different ways, but one of the most popular ways to
use it is with keyboard shortcuts (Windows logo key + and Windows logo key
-). However, on a touch-only device, you don't have the keyboard available
to input shortcuts, so we had to figure out how to make Magnifier work well
in this scenario. We wanted to create a touch-based solution that was
simple, fast, and unobtrusive. If you've used Magnifier before, you may have
experimented with different modes in Windows 7. We chose to focus on
full-screen mode for touch because of the data we gathered through the
Customer Experience Improvement Program, which showed full-screen mode was
the most commonly used. It's also the best mode to leverage touch gestures
because it spans the whole screen.

One of the great benefits of using touch is that you can directly interact
with everything on your screen. There's no need for separate devices like a
mouse and keyboard - just touch exactly what you want. The downside we've
heard from users who rely on magnification is that it can be hard to see and
touch simultaneously because your hand is on the screen and it blocks you
from seeing what's behind it. But the entire goal of Magnifier is to help
users see the screen - not to hinder. Therefore, one of our design
principles for touch-enabled devices was to make sure that you can control
Magnifier entirely from the edges of the screen.

When you start Magnifier on a touch-enabled device (in the Ease of Access
panel, set Magnifier to start when you press the Windows logo key + Volume
up), you will immediately notice a border that appears around the edges of
the screen. We know you will need to access all areas of the screen, so we
made it easy to move the Magnifier around the screen using these borders.
Simply drag your finger along the border to move Magnifier in that
direction. When the border disappears, you are at the edge of the screen.

 
<http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-
weblogfiles/00-00-01-29-43-metablogapi/6786.Magnifier_5F00_73DE3660.jpg> Two
images: On the left is a close-up view of Start screen with borders along
all 4 edges, a plus symbol in the top left and right corners, and a minus
symbol in the bottom left and right corners. A blue circle representing a
finger being dragged appears on bottom edge. Second image shows a different
part of the same Start screen, with the same controls illustrating the
scroll.

Drag your finger along the border to move around the screen. Borders
disappear when you reach the edge of the screen.

The plus (+) and minus (-) buttons in the corners allow you to zoom in or
out. We also built in support for multi-touch zoom using these same borders.
Moving two fingers closer together or farther apart on the border allows you
to quickly change the zoom level.

When you are zoomed in, sometimes it's confusing to know where you are on
the screen. To remedy this, Magnifier has a preview feature that shows you
exactly where you are in the context of the entire screen. Activate this by
tapping with a thumb or finger on opposite borders at the same time. The
preview will zoom out to show you exactly what part of the screen you're on,
then it will zoom back in to your current location.

 
<http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-
weblogfiles/00-00-01-29-43-metablogapi/1680.Full_2D00_screen_2D00_preview_2D
00_in_2D00_Magnifier_5F00_7CFF59A8.jpg> Start screen with small rectangle
highlighted to show the area of the screen where Magnifier is currently
focused

Tap on two opposing borders at the same time. Full screen preview highlights
where you are on the screen.

You can even drag the highlighted region while it's zoomed out to move the
Magnifier around the screen.

Most importantly with Magnifier, you don't need to change the way you
interact with your device to use it with touch. Once it's turned on, it will
work with all of your apps. For users with low vision who have trouble
seeing their devices, Magnifier makes it easy to see the screen and touch
it, too.


Explore and learn the UI with Narrator


In Windows 8, Narrator has been redesigned to be substantially faster and
support many new features. To support Narrator on touch-only devices we've
implemented a standard way to launch Narrator, by holding down the Windows
logo key and pressing the Volume Up button. Once Narrator is running, you
can use Narrator's built-in touch commands to explore the screen and control
your device.

If you're blind, then the challenge with touch is that there's no way to
find something on the screen without activating it. On a Windows 8 device,
Narrator addresses this challenge by allowing you to drag a single finger
around the screen. Narrator will read what is under your finger but won't
activate it. Users with vision will notice that the Narrator cursor will
follow your finger as well. We refer to this as "exploring." A good way to
understand this is to imagine there is a sheet of glass on top of your
screen - Narrator will allow you explore what is underneath by touching the
glass but without touching the screen directly. Once you've found the item
you're looking for by exploring with a single finger, you can activate it by
tapping anywhere with a second finger.

Your browser doesn't support HTML5 video. 
Download this video to view it in your favorite media player: 
 
<http://video.ch9.ms/ch9/8f07/7f89f824-fa21-4375-8443-9ff201608f07/EnsuringA
ccessibility2_high_ch9.mp4> High quality MP4 |
<http://video.ch9.ms/ch9/8f07/7f89f824-fa21-4375-8443-9ff201608f07/EnsuringA
ccessibility2_low_ch9.mp4> Lower quality MP4

These are just two examples of ATs that are shipping with Windows 8 and that
are now optimized for touch-only devices. There are many other improvements
across all the Windows 8 ATs, but we will save that to discuss at a later
time.


Onboarding assistive technology vendors


There are many scenarios and a wide range of impairments to cover, and so
we've engaged and partnered with AT vendors to ensure we are creating the
best and most comprehensive experiences for the disability community. The
assistive technologies that ship in Windows 8 will work across both the
desktop and Metro style UI experiences, to provide seamless access to the
PC. People who need advanced AT features may need or want to purchase
solutions from specialty Assistive Technology vendors (AT vendors) to meet
their specific needs.

AT vendors create sophisticated ATs that can provide richer experiences to
the disability community. For example, they may provide in-depth support for
specific applications and for legacy applications. The ATs shipped in
Windows may not work well with apps that do not support industry standards
or platform technologies, including for example, legacy applications that do
not implement UIA.

In Windows 8, we invested heavily in building the foundation for the new
Metro style UI and adopting the industry standards that will benefit
application developers, ATs, and the disability community.

By providing a standardized way of getting the information, ATs can work
with the standards that app developers are used to, but more importantly, AT
vendors can rely on these standards to be supported through multiple Windows
releases, to ensure their ATs don't break with each release. Since the
//Build conference, we have partnered with leading AT vendors to help them
get started with Windows 8. This has included support for previously used
<http://en.wikipedia.org/wiki/Mirror_driver> mirror drivers and UIA support.

We continue to sync up with the AT vendors to ensure that their questions
are addressed, and we are working toward the common goal of an accessible
Windows 8.

Windows 8 has been an incredible opportunity for us to improve our
accessibility support. Not only have we evolved the platform, we have
introduced new opportunities for developers to broaden their application's
reach into the disability community. We have also focused a lot of attention
on the ATs that are included with Windows 8, not only improving performance
and language support, but also enabling new form factors including
touch-only devices. We continue to be very committed to a rich and
innovative third-party ecosystem, and with more standardized and consistent
interfaces, we hope to help the ecosystem continue to innovate on Windows.

If you are a user with accessibility needs, we think you will like what we
have done. If you are a developer, build an accessible app and reach a
larger spectrum of users! If you are an AT vendor, come work with us and
refresh your applications using our platform. This is an exciting and
compelling release that will change how people of all abilities interact
with PCs.

There is still work to be done in Windows to meet all the accessibility
needs, but we would like to encourage people to try out the Metro style
experiences with our free, updated Windows 8 ATs.

-- Jennifer Norberg, Lead PM, Human Interaction Platform team

Data

1.      WHO:  <http://www.who.int/mediacentre/factsheets/fs352/en/>
Disability and health: Fact sheet Number 352

2.     US Census:
<http://www.census.gov/newsroom/releases/archives/facts_for_features_special
_editions/cb11-ff14.html> Profile America Facts for Features

3.     European AT Report:
<http://ec.europa.eu/information_society/newsroom/cf/document.cfm?action=dis
play&doc_id=606> Analysing and federating the European Assistive Technology
ICT industry, March 2009 (PDF)

4.
<http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx/lifekludger:%20The
%20Touch%20Barrier%20-%20Accessibility%20and%20usability%20issues%20around%2
0touch%20technologies> Lifekludger: The Touch Barrier - Accessibility and
usability issues around touch technologies

5.      <http://bls.gov/oco/oco2003.htm> Occupational Outlook Handbook,
2010-11 Edition

 








More information about the NFBCS mailing list