You Are Here:
Toolkit Contents
>>
Technology areas
>>
Software

Software


Resources collated by David Sloan, University of Dundee and edited by Kevin Carey, humanITy, RNIB/World Blind Union.  Introduction by Dr. Mark Magennis, National Council for the Blind of Ireland - NCBI Centre for Inclusive Technologies (CFIT)

Section Summary
The design of a piece of software determines how people can interact with it and what abilities they will need. Assistive hardware and software is used by people with disabilities to enable them to interact with software applications through an alternative to the standard methods that they cannot use, such as a visual display or a keyboard. An important factor for accessibility is the extent to which the software integrates with the computer’s operating system, which varies with different software. Another concern is enterprise software, which is more prevalent in the professional world and comprises programmes meant for specific tasks. Lack of accessibility in this kind of software can seriously reduce the opportunities for employment or career advancement for people with disabilities.

Personal computers, mobile phones, personal digital assistants (PDAs) and other general purpose computing devices all consist of two aspects – the hardware and the software. The hardware is the physical parts such as screens, keypads and headphones. The rest is software – web browsers, text editors, address books, applications for organising your photographs, industrial process control systems, etc.

The design of a piece of software determines how people can interact with it and what abilities they will need. This includes what hardware can be used for inputs (e.g. a mouse, keyboard, touchscreen or eye-tracker), how these inputs should be made (e.g. by clicking, dragging, typing or physical gestures), how the outputs are presented to the user (e.g. on a visual display or through audio) and which other devices and applications the software can interact with, including assistive hardware and software.

Compatibility with assistive hardware and software
Assistive hardware and software is used by people with disabilities to enable them to interact with software applications through an alternative to the standard methods that they cannot use, such as a visual display or a keyboard. For example, a blind person may use screen reading software which converts text to speech so that they can listen to what is usually displayed on the screen. Any software application that can display text on a visual display should also be able to pass that same text to a screen reader for conversion to speech. A person who is severely physically disabled and unable to use a keyboard may use a single switch together with an application that enables them to select individual letters, words or phrases, inputting them as text as if they were using a keyboard. Any software that can take text input from the keyboard should also be able to take input from this switch-based application. Barriers arise when software is designed in a way that is incompatible with assistive technologies so that people with disabilities cannot make the required inputs or receive the outputs.

Integration with the computer operating system
An important factor for accessibility is the extent to which the software integrates with the computer’s ‘operating system’. This is the software that runs the computer itself. It handles the display of windows, menus, buttons and other interactive elements and provides the filing system for storing documents and applications. Examples include the personal computer operating systems Microsoft Windows, Linux and Mac OSX, and the mobile phone operating systems Symbian and Android. Generally speaking, these operating systems can interact with assistive technologies, so that standard elements such as windows, menus, text panes, buttons and dialog boxes are all accessible. The problems arise when a software application doesn’t use the standard interactive elements provided by the operating system, but creates its own, or interacts directly with the screen or keyboard, bypassing the operating system completely. In this case, the assistive technologies may not be able to detect the outputs or mimic the inputs. A further problem is that whatever accessibility adjustments the user has made at the operating system level, such as changing the default text size and colour or reducing the input sensitivity, may then be ignored by that software application.

Information content
In addition to considering how information is output, software applications also need to consider what is output. For example, it is important to ensure that displayed colours have sufficient contrast for people with vision impairments, that the information contained within images and graphs is also available as text, that audible information is also available visually and that complexity is kept to a minimum. Beyond the software itself, the packaging, installation and configuration tools should also be accessible, as well as any documentation, training and support materials.

Enterprise software environments
Enterprise level software, encountered by many people with disabilities within employment, often presents far greater accessibility barriers than the more widely used office, personal or mobile software applications. This software, which may be used for a wide range of tasks such as industrial process control, systems monitoring, project management and data storage, often either creates its own interface environment or uses that provided by the application environment (e.g. Lotus Notes). Lack of accessibility in this kind of software can seriously reduce the opportunities for employment or career advancement for people with disabilities.

Resources available in this section
These resources will be of use to software developers, document authors, procurers, legislators, end users and others. These include a  number of important international standards as well as prominent guidelines and checklists. Together, they describe all the important accessibility features of software and documentation and how to implement them in different environments. The resources range from general guidelines to those specific to particular operating systems, development environments, programming languages and applications.

 

Main categories of accessibility features offered by operating system vendors

Section 508 - Software Applications and Operating Systems (1194.21)
Summary: Standard, referred to by Section 508 legislation, defining accessible software. Covers keyboard access, input focus, display (text, graphics, animation, colour), forms and accessibility features including user preferences.
Keywords: Data input, Display, Accessibility features
Target audiences: Software developers; Commissioners/buyers of software; Verifiers/evaluators of software (NB Section 508 applies specifically to federal agencies of the US, and – indirectly- to their suppliers)


IBM Software Accessibility Checklist - Version 3.5.1
Summary: Checklist identifying key accessibility requirements for general software development – covering display issues (visual, audio) and user interaction (keyboard, timing), and testing.
Reference: http://www-03.ibm.com/able/guidelines/software/accesssoftware.html
Keywords: Guidelines; Data input; Data output
Target audiences: Software developers; Designers of user-interface development tools and style guides; Buyers of software


RNIB Software Accessibility Centre
Summary: RNIB’s collection of resources on software accessibility, covering design and development, testing, procurement , plus background information on software accessibility and links to relevant laws and standards
Reference: http://www.rnib.org.uk/professionals/softwareandtechnology/softwareaccesscentre/Pages/software_access_centre.aspx
Keywords: Resource collection; Design and development; Procurement
Target audiences: Software developers; Buyers; Commissioners of software


Microsoft Accessibility Developer Centre
Summary: A collection of resources for developers creating Windows applications. Includes technical information (MS Active Accessibility, UI Automation SDKs) plus general good practice in accessible interface design
Reference: http://msdn.microsoft.com/en-gb/accessibility/default.aspx
Keywords: Resource collection; Technical; Interface design
Target audiences: Windows application developers; Developers of assistive technologies to run on Windows; Verifiers/evaluators of accessible Windows software


Microsoft: Accessibility in Windows Vista
Summary: Accessibility support offered by Microsoft’s Windows Vista OS. Provides details of accessibility features, tutorials on configuring accessibility setting, and how assistive technologies work with Vista.
Reference: http://www.microsoft.com/enable/products/windowsvista/
Keywords: Accessibility features; Tutorials; Assistive technology integration
Target audiences: Disabled Windows Vista users; Procurers; Software Developers


Main categories of accessibility features offered by application software vendors

Section 508 - Software Applications and Operating Systems (1194.21)
Summary: Standard, referred to by Section 508 legislation, defining accessible software. Covers keyboard access, input focus, display (text, graphics, animation, colour), forms and accessibility features including user preferences.
Keywords: Data input; Display; Accessibility features
Target audiences: Software developers; Commissioners/buyers of software; Verifiers/evaluators of software
NB Section 508 applies specifically to federal agencies of the US, and – indirectly- to their suppliers 


IBM Software Accessibility Checklist - Version 3.5.1
Summary: Checklist identifying key accessibility requirements for general software development – covering display issues (visual, audio) and user interaction (keyboard, timing), and testing.
Reference: http://www-03.ibm.com/able/guidelines/software/accesssoftware.html
Keywords: Guidelines; Data input; Data output
Target audiences: Software developers; Designers of user-interface development tools and style guides; Buyers of software


IT Accessibility Guidelines: Application Software (Centre for Excellence in Universal Design, Ireland
Summary: Guidelines identifying requirements for optimally accessible software, covering technical advice on data input and output plus advice on supporting users with specific impairments Guidelines are prioritised at two levels: 12 Priority One and 5 Priority Two.
Reference: http://universaldesign.ie/useandapply/ict/itaccessibilityguidelines/applicationsoftware/guidelines
Keywords: Guidelines; Data input; Data output
Target audiences: Software developers; Developers of tools to support software development; Buyers/commissioners of software


RNIB Software Accessibility Centre
Summary: RNIB’s collection of resources on software accessibility, covering design and development, testing, procurement , plus background information on software accessibility and links to relevant laws and standards
Reference: http://www.rnib.org.uk/professionals/softwareandtechnology/softwareaccesscentre/Pages/software_access_centre.aspx
Keywords: Resource collection; Design and development; Procurement
Target audiences: Software developers; Buyers; Commissioners of software


University of Minnesota - Software Accessibility Standards
Summary: A set of guidelines covering the following areas: # keyboard access, interface objects, elements and labels, fonts, text size and colour, audio alerts, animations and multimedia, blinking content, response times, documentation
Reference: http://accessibility.umn.edu/software-accessibility.html
Keywords: Guidelines; Data input; Data output
Target audiences: This standard is publicly available but internal to University of Minnesota: Software developers; Buyers or commissioners of software; Software testers/verifiers


IBM Java accessibility checklist - version 3.6
Summary: Checklist identifying key accessibility requirements for software development using Java – covering display issues (visual, audio) and user interaction (keyboard, timing), and testing.
Reference: http://www-03.ibm.com/able/guidelines/java/accessjava.html
Keywords: Guidelines; Data input; Data output
Target audiences: Developers writing Java software; Developers of Java software development tools; Developers of assistive technologies designed to work with software written in Java.


IBM Guidelines for Writing Accessible Applications Using 100% Pure Java
Summary: Detailed guidelines on accessible Java development, covering essential accessible programming practice, Java Foundation Classes and accessibility,the Java Accessibility API, testing and documentation. NB More detailed than the Java Accessibility Checklist (qv)
Keywords: Coding; User interface design: Testing
Target audiences: Developers writing Java software; Developers of Java software development tools; Developers of assistive technologies designed to work with software written in Java


Lotus Notes Application Accessibility Checklist - Version 3.2
Summary: Checklist for developers producing Lotus Notes applications – covers navigation, buttons, graphics, links, views, forms, applets, scripts, style sheets, documentation and accessibility testing
Reference: http://www-03.ibm.com/able/guidelines/notes/accessr5.html
Keywords: Lotus Notes; Navigation; Data output
Target audiences: Lotus Notes application developers; Lotus Notes application commissioners; Lotus Notes application users


GNOME Accessibility Developers Guide 3.0
Summary: Comprehensive developers’ guide providing a background to accessibility, information on using the GNOME Accessibility API, coding guidelines, user interface guidelines and a detailed accessibility testing strategy
Reference: https://developer.gnome.org/accessibility-devel-guide/3.0/
Keywords: Coding; User interface design; Testing
Target audiences: Developers of software for the GNOME operating system; Developers of assistive technology for the GNOME operating system; Users of GNOME software


Accessibility Programming Guidelines for Cocoa
Summary: A series of articles supporting development accessible Cocoa applications, covering how the Cocoa framework implements accessibility, and details of how to add accessibility features to a Cocoa application.
Reference: http://developer.apple.com/documentation/Cocoa/Conceptual/Accessibility/cocoaAXIntro/cocoaAXintro.html
Keywords: API; Coding; User Interface Design
Target audiences: Developers of Cocoa applications; Buyers of software
NB Cocoa is Apple's native object-oriented programming environment, in which application for Mac OS X can be developed.


Accessibility Programming Guidelines for Carbon
Summary: These guidelines describe how the Carbon framework implements accessibility, and includes steps to support developers in creating accessible standard, semi-standard and custom Carbon applications.
Reference: http://developer.apple.com/
Keywords: API Coding; User Interface Design
Target audiences: Developers of Carbon applications; Buyers of software
NB Carbon is Apple’s Application Programming Interface (API) for development of applications for a range of versions of the Mac OS.


Microsoft Accessibility Developer Centre
Summary: A collection of resources for developers creating Windows applications. Includes technical information (MS Active Accessibility, UI Automation SDKs) plus general good practice in accessible interface design
Reference: http://msdn.microsoft.com/en-gb/accessibility/default.aspx
Keywords: Resource collection; Technical; Interface design
Target audiences: Windows application developers; Developers of assistive technologies to run on Windows; Verifiers/evaluators of accessible Windows software


Adobe: Acrobat 9 Accessibility Guides
Summary: A series of guides on how to make Adobe Acrobat 9 Pro (PDF) documents that are accessible to people with disabilities.
Reference: http://www.adobe.com/content/dam/Adobe/en/accessibility/products/acrobat/pdfs/A9-pdf-accesibility-overview.pdf
Keywords: PDF documents; Accessibility; e-content
Target audiences: PDF designers; Developers; Web Masters


Adobe Acrobat Accessibility Centre
Summary: Adobe’s official resource centre for Acrobat to create accessible PDF content, including overview of Acrobat accessibility features, accessible PDF authoring guidelines, tutorials and case studies.
Reference: http://www.adobe.com/accessibility/products/acrobat/
Keywords: Acrobat accessibility; Accessible PDF authoring; Tutorials
Target audiences: PDF authors; Policymakers; Disabled PDF users


WebAIM: PDF Accessibility Guide
Summary: The creation of optimally accessible PDF documents; overview of PDF accessibility, including tags; techniques for improving accessibility of PDF; Acrobat support for accessibility
Reference: http://www.webaim.org/techniques/acrobat/
Keywords: PDF accessibility; Accessible authoring techniques; PDF creation
Target audiences: PDF authors; Policymakers; Disabled PDF users


Adobe Flash Accessibility Centre
Summary: Adobe’s official resource centre for creating optimally accessible Flash resources, including overview of Flash accessibility features, Flash player accessibility support, accessible Flash authoring guidelines/tutorials.
Refernce: http://www.adobe.com/accessibility/products/flash/
Keywords: Flash accessibility; Accessible Flash authoring; Tutorials
Target audiences: Flash authors; Disabled Flash users; Policymakers


WebAIM: Flash Accessibility Guide
Summary: The creation of optimally accessible Flash content; overview of Flash accessibility features and limitations; assistive technology support for Flash
Reference: http://www.webaim.org/techniques/flash/
Keywords: Flash accessibility; Accessible authoring; Flash assistive technology support
Target audiences: Flash authors; Policymakers; Disabled Flash users


WebAIM: Word Accessibility Guide
Summary:
The creation of optimally accessible Word documents; overview of Word accessibility features, including document structure and accessible alternatives; converting Word to accessible HTML
Reference: http://www.webaim.org/techniques/word/
Keywords: Word accessibility; Accessible authoring; Word to HTML output
Target audiences: Word authors; Policymakers; Disabled Word users


WebAIM: PowerPoint Accessibility Guide
Summary: The creation of optimally accessible PowerPoint files; overview of PowerPoint accessibility features; converting PowerPoint to accessible HTML
Reference: http://www.webaim.org/techniques/powerpoint/
Keywords: PowerPoint accessibility; Accessible authoring; PowerPoint to HTML output
Target audiences: PowerPoint authors; Policymakers; Disabled PowerPoint users


Duxbury Systems Inc.
Summary: Duxbury Systems is the worlds major supplier of braille translation software in English, American braille, many other languages and a unified English braille code UEBC.
Reference: http://www.duxburysystems.com/
Keywords: Braille translation software; UEBC; Braille codes
Target audiences: Braille authorities; Braille publishers; Special education


Documents Accessibility

KDE: Accessibility Project
Summary: Details of the KDE Accessibility Project, aimed at enhancing accessibility of the KDE Linux-based operating system. Describes accessibility aids and accessibility features of the system
Reference: http://accessibility.kde.org/
Keywords: Accessibility features; Accessibility support; Assistive technologies
Target audiences: Disabled KDE users; OS Procurers; Software Developers


GNOME Desktop Accessibility Guide
Summary:
Accessibility features of GNOME, the Linux-based operating system. Describes accessibility aids and accessibility features of the system.
Reference: https://help.gnome.org/users/gnome-access-guide/2.32/
Keywords: Accessibility features; Accessibility support; Assistive technologies
Target audiences: Disabled GNOME users; OS Procurers; Software Developers


ISO:9241-129 – Guidance on Software Individualization
Summary: This standard contains ergonomic requirements and recommendations for software-based individualization of human-computer interactions.
Keywords: Individualisation; HCI; Software
Target audiences: Designers; Developers; Standards Organisations


Assistive Software
ISO 9241-171 Ergonomics of human-system interaction Part 171: Guidance on software accessibility

Summary:The key ISO publication on best practice in developing accessible software. Covers general design requirements, plus data input, data output (visual, audio, tactile) and documentation.
Reference: ISO (2008) ISO 9241-171:2008. Ergonomics of human-system interaction Part 171: Guidance on software accessibility.
Keywords: Data input; Data output; Documentation
Target audiences: Software Developers; Designers of User-Interface Development Tools and Style Guides; Buyers/Evaluators of Software


Freedom Scientific
Summary:
Freedom Scientific is one of the worlds major developers and manufacturers of assistive software and hardware for those with visual impairments or learning difficulties
Reference: http://www.freedomscientific.com/default.asp
Keywords: Assistive Technology; Visual Impairment; Learning Disabilities
Target audiences: Visual Impairment Organisations;Learning Disability Organisations; Special Education


Humanware
Summary: Humanware is one of the worlds major developers and manufacturers of assistive software and hardware for those with visual impairments or learning difficulties
Keywords: Assistive Technology; Visual Impairment; Learning Disabilities
Target audiences: Visual Impairment Organisations; Learning Disability Organisations; Special Education