Accessibility is an important quality attribute of software and web apps.
Unfortunately it is often get neglected when we do system architecture, design
and implementation.
In a 2001 survey which evaluated products of
25 award winning companies which produce pre college instructional software,
only two companies were aware about accessibility issues. There is lot changed
in past 15 years, but still miles to go before we reach at satisfactory level
for accessibility issues.
It is a general practice to develop web or
normal app by keeping average user's characteristics in mind. But when we
design software which satisfy the need of people with wide range of
disabilities and abilities, it is called universal design for software.
Universal design are bunch of ideas which can
apply in product, building and environment, so they can be easily accessible by
older people and people with/without disabilities.
Here we will put light on the process and
principle of universal design in context to web apps and general software
development. We believe following it will help in increasing our horizon of
building better and accessible software.
Universal Software Design Process
Process of universal design for software
involves high level view of software as well as its components. Few important
steps of the process listed below:
(1)
Understand Software - Understanding of the
application where we wanted to apply the universal design is key for its
success.
(2)
Define Universe - We should describe the overall
population (e.g., users of software), and then describe the diverse
characteristics of potential members of the population for which the
application is designed (e.g., students, faculty, and staff with diverse
characteristics with respect to gender; age; size; ethnicity and race; native
language; learning style; and abilities to see, hear, manipulate objects, read,
and communicate).
(3)
Involve End users - Consider and involve people
with diverse characteristics (as identified in Step 2) in all phases of the
development, implementation, and evaluation of the application. Also gain
perspectives through diversity programs, such as special disability help and
support centre. Make these processes known with appropriate signage,
publications, and websites.
(4)
Identify guidelines & standards - Create or select existing
universal design guidelines/standards for web and native app development.
Integrate them with other best practices. In some countries following
accessibility standard is legal obligation For e.g.. if we are building web
application we should follow WAG (Web Accessibility Guideline) and other
standards.
(5)
Apply guidelines or standards - Apply universal design in
software with best practices within the application, as identified in Step 4,
to the overall design of the application, all subcomponents of the application,
and all ongoing operations (e.g., staff training) to maximize the benefit of
the application to individuals with the wide variety of characteristics
identified in Step 2.
(6)
Plan for accommodations - When we implement software we
should provide facility to address accommodation requests (e.g., purchase of
assistive technology, arrangement for Braille printers) from individuals for
whom the design of the application does not automatically provide access.
(7)
Train & Support - Tailor and deliver ongoing
training and support to stakeholders
with emphasis on accessibility features.
(8)
Evaluate - We should periodically evaluate the
implementation of universal design measures. We should involve diverse group of
users, and make modifications based on feedback. We should place ways to
collect input from users.
Universal Software Design Principles
Universal design principles for software guide
in designing accessible software. Few of the important design principles are
listed below:
(1)
Equitable use - The design is useful and
marketable to people with diverse abilities. For example, a website that is
designed to be accessible to everyone, including people who are blind and use
screen reader technology, employs this principle.
(2)
Flexibility in use - The design accommodates a wide
range of individual preferences and abilities. For e.g. Video with flexibility
to display caption can enable user to listen or read audio.
(3)
Simple and Intuitive - Use of the design is easy to
understand software, regardless of the user's experience, knowledge, language
skills, or current concentration level. For e.g. simple and intuitive control
buttons/links in a audio player web app.
(4)
Fault Tolerance - The design minimizes hazards
and the adverse consequences of accidental or unintended actions. An e.g.
Software applications that provide guidance when the user makes an
inappropriate selection for all kind of users.
We have left out three universal design
principles like Perceptible information, low physical effort and size and space
for approach and usage. These principals are more suitable to physical
products.
Conclusion
Why we are very far from reality in building
software which should be accessible to all different kinds of end user? It is not the lack of theories, principles or
standards but it lack of consciences to incorporate those in software
development process. Once we will start using design principles like Universal Design we will able to produce
better accessible software for differently enabled people.
For more details visit us – www.magicsw.com