Computer accessibility

Last updated

In human–computer interaction, computer accessibility (also known as accessible computing) refers to the accessibility of a computer system to all people, regardless of disability type or severity of impairment. The term accessibility is most often used in reference to specialized hardware or software, or a combination of both, designed to enable use of a computer by a person with a disability or impairment. Specific technologies may be referred to as assistive technology.

Human–computer interaction (HCI) researches the design and use of computer technology, focused on the interfaces between people (users) and computers. Researchers in the field of HCI both observe the ways in which humans interact with computers and design technologies that let humans interact with computers in novel ways. As a field of research, human–computer interaction is situated at the intersection of computer science, behavioral sciences, design, media studies, and several other fields of study. The term was popularized by Stuart K. Card, Allen Newell, and Thomas P. Moran in their seminal 1983 book, The Psychology of Human–Computer Interaction, although the authors first used the term in 1980 and the first known use was in 1975. The term connotes that, unlike other tools with only limited uses, a computer has many uses and this takes place as an open-ended dialog between the user and the computer. The notion of dialog likens human–computer interaction to human-to-human interaction, an analogy which is crucial to theoretical considerations in the field.

Accessibility the design of products, devices, services, or environments for people with disabilities

Accessibility is the design of products, devices, services, or environments for people with disabilities. The concept of accessible design and practice of accessible development ensures both "direct access" and "indirect access" meaning compatibility with a person's assistive technology.

Disability impairments, activity limitations, and participation restrictions

According to many definitions, a disability is an impairment that may be cognitive, developmental, intellectual, mental, physical, sensory, or some combination of these. Other definitions describe disability as the societal disadvantage arising from such impairments. Disability substantially affects a person's life activities and may be present from birth or occur during a person's lifetime.

Disabilities is an umbrella term, covering impairments, activity limitations, and participation restrictions. An impairment is a problem in body function or structure; an activity limitation is a difficulty encountered by an individual in executing a task or action; while a participation restriction is a problem experienced by an individual in involvement in life situations. Disability is thus not just a health problem. It is a complex phenomenon, reflecting the interaction between features of a person’s body and features of the society in which he or she lives.

Contents

There are many disabilities or impairments that can be a barrier to effective computer use. These impairments, which can be acquired from disease, trauma, or may be congenital, include but are not limited to:

Disease abnormal condition negatively affecting organisms

A disease is a particular abnormal condition that negatively affects the structure or function of part or all of an organism, and that is not due to any external injury. Diseases are often construed as medical conditions that are associated with specific symptoms and signs. A disease may be caused by external factors such as pathogens or by internal dysfunctions. For example, internal dysfunctions of the immune system can produce a variety of different diseases, including various forms of immunodeficiency, hypersensitivity, allergies and autoimmune disorders.

Major trauma injury that could cause prolonged disability or death

Major trauma is any injury that has the potential to cause prolonged disability or death. There are many causes of major trauma, blunt and penetrating, including falls, motor vehicle collisions, stabbing wounds, and gunshot wounds. Depending on the severity of injury, quickness of management and transportation to an appropriate medical facility may be necessary to prevent loss of life or limb. The initial assessment is critical, and involves a physical evaluation and also may include the use of imaging tools to determine the types of injuries accurately and to formulate a course of treatment.

Dyslexia neurological condition, developmental or acquired

Dyslexia, also known as reading disorder, is characterized by trouble with reading despite normal intelligence. Different people are affected to varying degrees. Problems may include difficulties in spelling words, reading quickly, writing words, "sounding out" words in the head, pronouncing words when reading aloud and understanding what one reads. Often these difficulties are first noticed at school. When someone who previously could read loses their ability, it is known as alexia. The difficulties are involuntary and people with this disorder have a normal desire to learn.

Dyscalculia is difficulty in learning or comprehending arithmetic, such as difficulty in understanding numbers, learning how to manipulate numbers, performing mathematical calculations and learning facts in mathematics. It is generally seen as the mathematical equivalent to dyslexia.

Visual impairment, also known as vision impairment or vision loss, is a decreased ability to see to a degree that causes problems not fixable by usual means, such as glasses. Some also include those who have a decreased ability to see because they do not have access to glasses or contact lenses. Visual impairment is often defined as a best corrected visual acuity of worse than either 20/40 or 20/60. The term blindness is used for complete or nearly complete vision loss. Visual impairment may cause people difficulties with normal daily activities such as driving, reading, socializing, and walking.

Accessibility is often abbreviated as the numeronym a11y, where the number 11 refers to the number of letters omitted. This parallels the abbreviations of internationalization and localization as i18n and l10n respectively.

A numeronym is a number-based word.

Internationalization and localization process in which software is made accessible to people in different areas of the world

In computing, internationalization and localization are means of adapting computer software to different languages, regional peculiarities and technical requirements of a target locale. Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by translating text and adding locale-specific components. Localization uses the infrastructure or flexibility provided by internationalization.

Special-needs assessment

People wishing to overcome an impairment in order to use a computer comfortably and productively may require a "special needs assessment" by an assistive technology consultant (such as an occupational therapist, a rehabilitation engineering technologist, or an educational technologist) to help them identify and configure appropriate assistive technologies to meet individual needs. Even those who are unable to leave their own home or who live far from assessment providers may be assessed (and assisted) remotely using remote desktop software and a web cam. For example, the assessor logs on to the client's computer via a broadband Internet connection, observes the users computer skills, and then remotely makes accessibility adjustments to the client's computer where necessary.

Assistive technology devices for people with disabilities

Assistive technology is an umbrella term that includes assistive, adaptive, and rehabilitative devices for people with disabilities or elderly population while also including the process used in selecting, locating, and using them. People who have disabilities often have difficulty performing activities of daily living (ADLs) independently, or even with assistance. ADLs are self-care activities that include toileting, mobility (ambulation), eating, bathing, dressing and grooming. Assistive technology can ameliorate the effects of disabilities that limit the ability to perform ADLs. Assistive technology promotes greater independence by enabling people to perform tasks they were formerly unable to accomplish, or had great difficulty accomplishing, by providing enhancements to, or changing methods of interacting with, the technology needed to accomplish such tasks. For example, wheelchairs provide independent mobility for those who cannot walk, while assistive eating devices can enable people who cannot feed themselves to do so. Due to assistive technology, people with disabilities have an opportunity of a more positive and easygoing lifestyle, with an increase in "social participation," "security and control," and a greater chance to "reduce institutional costs without significantly increasing household expenses."

An occupational therapist (OT) works with a client to help them achieve a fulfilled and satisfied state in life through the use of "purposeful activity or interventions designed to achieve occupational outcomes which promote health, prevent injury or disability to develop, improve, sustain or restore the highest possible level of independence."

In computing, the term remote desktop refers to a software or operating system feature that allows a personal computer's desktop environment to be run remotely on one system, while being displayed on a separate client device. Remote desktop applications have varying features. Some allow attaching to an existing user's session and "remote controlling", either displaying the remote control session or blanking the screen. Taking over a desktop remotely is a form of remote administration.

Considerations for specific impairments

BBC News shown in 'desktop mode,' with accessibility links at the top. The screenshot is taken from Windows Mobile. BBC News web accessibility demo.jpg
BBC News shown in 'desktop mode,' with accessibility links at the top. The screenshot is taken from Windows Mobile.
A single-switch assistive device that enables the user to access an on-screen keyboard Single switch onscreen keyboard.jpg
A single-switch assistive device that enables the user to access an on-screen keyboard

Cognitive impairments and illiteracy

The biggest challenge in computer accessibility is to make resources accessible to people with cognitive disabilities - particularly those with poor communication and reading skills. As an example, people with learning disabilities may rely on proprietary symbols and thus identify particular products via the product's symbols or icons. Unfortunately copyright laws can limit icon or symbol release to web-based programs and websites by owners who are unwilling to release them to the public.

In these situations, an alternative approach for users who want to access public computer based terminals in libraries, ATMs, and information kiosks is for the user to present a token to the computer terminal, such as a smart card, that has configuration information to adjust the computer speed, text size, etcetera to their particular needs. The concept is encompassed by the CEN standard "Identification card systems – Human-machine interface". [1] [2] This development of this standard has been supported in Europe by SNAPI and has been successfully incorporated into the Local Authority Smartcards Standards e-Organisation (LASSeO) specifications. [3]

Automated teller machine electronic banking kiosk

An automated teller machine (ATM) is an electronic telecommunications device that enables customers of financial institutions to perform financial transactions, such as cash withdrawals, deposits, transfer funds, or obtaining account information, at any time and without the need for direct interaction with bank staff.

Smart card pocket-sized card with embedded integrated circuits

A smart card, chip card, or integrated circuit card (ICC) is a physical electronic authorization device, used to control access to a resource. It is typically a plastic credit card sized card with an embedded integrated circuit. Many smart cards include a pattern of metal contacts to electrically connect to the internal chip. Others are contactless, and some are both. Smart cards can provide personal identification, authentication, data storage, and application processing. Applications include identification, financial, mobile phones (SIM), public transit, computer security, schools, and healthcare. Smart cards may provide strong security authentication for single sign-on (SSO) within organizations. Several nations have deployed smart cards throughout their populations.

SNAPI is a system that allows a user to record their preferences onto a smart card or other security token.

Visual impairment

Since computer interfaces often solicit visual input and provide visual feedback, another significant challenge in computer accessibility involves making software usable by people with visual impairments. For individuals with mild to medium vision impairment, it is helpful to use large fonts, high DPI displays, high-contrast themes and icons supplemented with auditory feedback and screen magnifying software. In the case of severe vision impairment such as blindness, screen reader software that provides feedback via text to speech or a refreshable braille display is a necessary accommodation for interaction with a computer.

About 8% of people suffer from some form of color-blindness. The main color combinations that might be confused by people with visual deficiency include red/green and blue/green. However, in a well-designed user interface, color will not be the primary way to distinguish between different pieces of information.

Motor and dexterity impairments

Some people may not be able to use a conventional input device, such as the mouse or the keyboard, therefore, it is important for software functions to be accessible using both devices. Ideally, software will use a generic input API that permits the use even of highly specialized devices unheard of at the time of software's initial development. Keyboard shortcuts and mouse gestures are ways to achieve this access, as are more specialized solutions, including on-screen software keyboards and alternate input devices (switches, joysticks and trackballs). Users may enable a bounce key feature, allowing the keyboard to ignore repeated presses of the same key. Speech recognition technology is also a compelling and suitable alternative to conventional keyboard and mouse input as it simply requires a commonly available audio headset.

The astrophysicist Stephen Hawking's use of assistive technology is an example of a person with severe motor and physical limitations who uses technology to support activities of daily living. He used a switch, combined with special software, that allows him to control his wheelchair-mounted computer using his limited and small movement ability. This personalized system allowed him to remain mobile, do research, produce his written work. Prof. Hawking also used augmentative and alternative communication technology to speak and an environmental control device to access equipment independently.

A small amount of modern research indicates that utilizing a standard computer mouse device improves fine-motor skills. [4]

Hearing impairment

While sound user interfaces have a secondary role in common desktop computing, these interfaces are usually limited to using system sounds such as feedback. Some software producers take into account people who can't hear due to hearing impairments, silence requirements or lack of sound producing software. System sounds like beeps can be substituted or supplemented with visual notifications and captioned text (akin to closed captioning). Closed captions are a very popular means of relaying information for the Deaf and hearing impaired communities.

Software accessibility

Accessibility application programming interfaces

Software APIs (application programming interfaces) exist to allow assistive technology products such as screen readers and screen magnifiers to work with mainstream software. The current or past APIs include:

Some of these APIs are being standardized in the ISO/IEC 13066 series of standards. [10] [11]

Accessibility features in mainstream software

Accessibility software can also make input devices easier to access at the user level:

Support for learning disabilities

Other approaches that may be particularly relevant to users with a learning disability include:

Web accessibility

Enabling access to Web content for all users is the concern of the Web accessibility movement, which strives to create accessible websites via conformance to certain design principles. For example, screen readers are of limited use when reading text from websites designed without consideration to accessibility. Sometimes these limitations are due to the differences between spoken and written language and the complexity of text, but it is often caused by poor page design practices. The tendency to indicate semantic meaning using methods that are purely presentational (e.g. larger or smaller font sizes, using different font colors, embedded images, or multimedia to provide information) restricts meaningful access to some users. Therefore, designing sites in accordance with Web accessibility principles helps enable meaningful access for all users.

Open Accessibility Framework

The Open Accessibility Framework (OAF) [16] provides an outline of the steps that must be in place in order for any computing platform to be considered accessible. These steps are analogous to those necessary to make a physical or built environment accessible. The OAF divides the required steps into two categories: creation and use.

The “creation” steps describe the precursors and building blocks required for technology developers to create accessible applications and products. They are as follows:

  1. Define what “accessible” means for the identified use of the platform. It must be clear what is meant by “accessible” as this will differ according to the modality and capabilities of each platform. Accessibility features may include tabbing navigation, theming, and an accessibility API.
  2. Provide accessible stock user interface elements. Pre-built “stock” user interface elements, used by application developers and authoring tools, must be implemented to make use of the accessibility features of a platform.
  3. Provide authoring tools that support accessibility. Application developers and content authors should be encouraged to implement tools that will improve the accessibility features of a platform. Using these tools can support accessible stock user interface elements, prompt for information required to properly implement an accessibility API, and identify accessibility evaluation and repair tools.

The “use” steps describe what is necessary in the computing environment in which these accessible applications will run. They are as follows:

  1. Provide platform supports. Computing platforms must properly implement the accessibility features that are specified in their accessibility definition. For example, the accessibility API definitions must be implemented correctly in the program code.
  2. Provide accessible application software. Accessible applications must be available for the platform and they must support the accessibility features of the platform. This may be achieved by simply engaging the accessible stock elements and authoring tools that support accessibility.
  3. Provide assistive technologies. Assistive technologies (e.g. screen readers, screen magnifiers, voice input, adapted keyboards) must actually be available for the platform so that the users can effectively interface with the technology.

The following examples show that the OAF can be applied to different types of platforms: desktop operating systems, web applications [17] and the mobile platform. A more complete list can be found in the Open Source Accessibility Repository by the Open Accessibility Everywhere Group (OAEG). [18]

  1. Accessibility APIs include the Assistive Technology Service Provider Interface and UI Automation on the desktop, WAI-ARIA in web applications, and the Blackberry Accessibility API [19] on the Blackberry operating system.
  2. Other APIs are keyboard access and theming in widget libraries like Java Swing for desktop applications, the jQuery UI and Fluid Infusion [20] for Web applications, and the Lightweight User Interface Toolkit (LWUIT) for mobile applications.
  3. Support for accessible development can be effective by using Glade (for the GTK+ toolkit), [21] the DIAS plugin for NetBeans IDE, [22] Xcode IDE for iOS applications. [23] Accessibility inspection tools like Accerciser (for AT-SPI) [24] and support for accessible authoring with the AccessODF plugin for LibreOffice and Apache OpenOffice [25] also fit into this step.
  4. Support for UI Automation on Microsoft Windows, [26] [27] support for ATK and AT-SPI in Linux GNOME, [28] WAI-ARIA support in Firefox, [29] [30] and the MIDP LWUIT mobile runtime [31] (or the MIDP LCDUI mobile runtime) that is available on mobile phones with Java are examples of APIs.
  5. The DAISY player AMIS on the Microsoft Windows desktop [32] and the AEGIS Contact Manager for phones with Java ME [33] are designed for accessibility.
  6. The GNOME Shell Magnifier and Orca on the GNOME desktop, GNOME's ATK (Accessibility Toolkit), the web-based screen reader WebAnywhere, [34] and the alternative text-entry system Dasher for Linux, iOS and Android [35] [36] are examples of assistive technologies.

The goal of the listed tools is to embed accessibility into various mainstream technologies. [37]

Standards and Regulations

International Standards

ISO 9241-171

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

Compiled from independent standards experts, this document is the most comprehensive and technical standard for designing accessible features for software, covering all disabilities and all aspects of software. It provides examples of two priority levels ('Required' and 'Recommended') and offers a handy checklist designed to help with recording software testing results.

The only trouble is that because of its complexity and technical nature, and with upwards of 150 individual statements, ISO 9241-172 is difficult to interpret and apply. Luckily, not every statement is relevant to every situation, therefore it may be advisable to identify a subset of statements that are tailored to the particular software environment, making the use of this document much more achievable. [ citation needed ]

See also

Related Research Articles

Software non-tangible executable component of a computer

Computer software, or simply software, is a collection of data or computer instructions that tell the computer how to work. This is in contrast to physical hardware, from which the system is built and actually performs the work. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own.

Java (programming language) Object-oriented programming language

Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to "bytecode" that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The language derives much of its original features from SmallTalk, with a syntax similar to C and C++, but it has fewer low-level facilities than either of them. As of 2016, Java was one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers.

In computing, cross-platform software is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.

Distributed Management Task Force organization

The Distributed Management Task Force (DMTF) is a computer software trade group which works to simplify the manageability of network-accessible technologies.

Web application application that uses a web browser as a client

In computing, a web application or web app is a client–server computer program which the client runs in a web browser. Common web applications include webmail, online retail sales, and online auction.

A screen reader is a form of assistive technology (AT) which is essential to people who are blind, as well as useful to people who are visually impaired, illiterate, or have a learning disability. Screen readers are software applications that attempt to convey what people with normal eyesight see on a display to their users via non-visual means, like text-to-speech, sound icons, or a Braille device. They do this by applying a wide variety of techniques that include for example interacting with dedicated accessibility APIs, using various operating system features and employing hooking techniques.

Screen magnifier

A screen magnifier is software that interfaces with a computer's graphical output to present enlarged screen content. By enlarging part of a screen, people with visual impairments can better see words and images. This type of assistive technology is useful for people with some functional vision; people with visual impairments and little or no functional vision usually use a screen reader.

WIMP (computing)

In human–computer interaction, WIMP stands for "windows, icons, menus, pointer", denoting a style of interaction using these elements of the user interface. It was coined by Merzouga Wilberts in 1980. Other expansions are sometimes used, such as substituting "mouse" and "mice" for menus, or "pull-down menu" and "pointing" for pointer.

Web accessibility

Web accessibility is the inclusive practice of ensuring there are no barriers that prevent interaction with, or access to, websites on the World Wide Web by people with disabilities. When sites are correctly designed, developed and edited, generally all users have equal access to information and functionality.

Microsoft Active Accessibility (MSAA) is an Application Programming Interface (API) for user interface accessibility. MSAA was introduced as a platform add-on to Microsoft Windows 95 in 1997. MSAA is designed to help Assistive Technology (AT) products interact with standard and custom user interface (UI) elements of an application, as well as to access, identify, and manipulate an application's UI elements. AT products work with MSAA enabled applications in order to provide better access for individuals who have physical or cognitive difficulties, impairments, or disabilities. Some examples of AT products are screen readers for users with limited sight, on screen keyboards for users with limited physical access, or narrators for users with limited hearing. MSAA can also be used for automated testing tools, and computer-based training applications.

Smart client is a term describing a computer application environment which:

Windows Live Mesh

Windows Live Mesh was a free-to-use Internet-based file synchronization application by Microsoft designed to allow files and folders between two or more computers to be in sync with each other on Windows and Mac OS X computers or the Web via SkyDrive. Windows Live Mesh also enabled remote desktop access via the Internet.

NonVisual Desktop Access (NVDA) is a free, open-source, portable screen reader for Microsoft Windows. The project was started by Michael Curran in 2006.

IAccessible2 is an accessibility API for Microsoft Windows applications. Initially developed by IBM under the codename Project Missouri, IAccessible2 has been placed under the aegis of the Free Standards Group, now part of the Linux Foundation. It has been positioned as an alternative to Microsoft's new UI Automation API.

Microsoft UI Automation (UIA) is an application programming interface (API) that allows one to access, identify, and manipulate the user interface (UI) elements of another application.

Remote Desktop Services (RDS), known as Terminal Services in Windows Server 2008 and earlier, is one of the components of Microsoft Windows that allow a user to take control of a remote computer or virtual machine over a network connection. RDS is Microsoft's implementation of thin client, where Windows software, and the entire desktop of the computer running RDS, are made accessible to a remote client machine that supports Remote Desktop Protocol (RDP). With RDS, only software user interfaces are transferred to the client system. All input from the client system is transmitted to the server, where software execution takes place. This is in contrast to application streaming systems, like Microsoft App-V, in which computer programs are streamed to the client on-demand and executed on the client machine.

A software widget is a relatively simple and easy-to-use software application or component made for one or more different software platforms.

In computer programming, an application programming interface (API) is a set of subroutine definitions, communication protocols, and tools for building software. In general terms, it is a set of clearly defined methods of communication among various components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer.

A mobile app or mobile application is a computer program or software application designed to run on a mobile device such as a phone/tablet or watch. Apps were originally intended for productivity assistance such as Email, calendar, and contact databases, but the public demand for apps caused rapid expansion into other areas such as mobile games, factory automation, GPS and location-based services, order-tracking, and ticket purchases, so that there are now millions of apps available. Apps are generally downloaded from application distribution platforms which are operated by the owner of the mobile operating system, such as the App Store (iOS) or Google Play Store. Some apps are free, and others have a price, with the profit being split between the application's creator and the distribution platform. Mobile applications often stand in contrast to desktop applications which are designed to run on desktop computers, and web applications which run in mobile web browsers rather than directly on the mobile device.

References

  1. CEN: Personal identification, electronic signature and cards and their related systems and operations - Structure.
  2. "Draft EN 1332-4 Identification Card Systems - Man-Machine Interface - Part 4 : Coding of user requirements for people with special needs". Tiresias.org. 2009-11-20. Retrieved 2013-07-28.
  3. LASSeO: Feasibility Studies - Final Report. August 2011.
  4. Bohannon, John (December 19, 2013). "Click here to improve your motor skills". Science. Retrieved 23 December 2013.
  5. Oracle: Java Accessibility
  6. Oracle: Java SE Desktop Accessibility (page containing a link to the Java Access Bridge).
  7. ISO: ISO/IEC PRF TR 13066-6: Information technology -- Interoperability with Assistive Technology (AT) -- Part 6: Java accessibility application programming interface (API).
  8. ISO: ISO/IEC PDTR 13066-4: Information Technology - Interoperability with Assistive Technology (AT) -- Part 4: Linux/UNIX graphical environments accessibility API.
  9. ISO: ISO/IEC TR 13066-3:2012: Information technology -- Interoperability with assistive technology (AT) -- Part 3: IAccessible2 accessibility application programming interface (API).
  10. Richard Hodgkinson: 7th Report on International ICT Accessibility Standards Proposed, Being Developed and Recently Published. 3 October 2008.
  11. Richard Hodgkinson: 10th Report on International ICT Accessibility Standards Proposed, Being Developed and Recently Published. 26 June 2009.
  12. Microsoft: Using ClickLock
  13. Microsoft: To turn on ToggleKeys. Windows XP Professional Product Documentation.
  14. Bates, Roger; Jones, Melanie (2003). "Using Computer Software To Develop Switch Skills". 2003 [Technology and Persons with Disabilities] Conference Proceedings. Retrieved 2007-02-08.
  15. Hawes, Paul; Blenkhorn, Paul (2002). "Bridging the Gap between Aspiration and Capability for Aphasic and Brain Injured People". 2002 [Technology and Persons with Disabilities] Conference Proceedings. Retrieved 2007-02-08.
  16. AEGIS Consortium: AEGIS OAF and high-level architecture. Accessed 2013-01-17.
  17. AEGIS Consortium: AEGIS Architecture Definition. Accessed 2013-01-17.
  18. Open Accessibility Everywhere Group (OAEG): Open Source Accessibility Repository. Accessed 2013-01-17.
  19. Research in Motion (RIM): Package net.rim.device.api.ui.accessibility. BlackBerry JDE 6.0.0 API Reference. Accessed 2013-01-17.
  20. Fluid Infusion. Accessed 2013-01-17.
  21. Glade - A User Interface Designer. Accessed 2013-01-17.
  22. DIAS Netbeans IDE plugin & Standalone. Accessed 2013-01-17.
  23. Apple Inc.: Xcode 4. Accessed 2013-01-17.
  24. Accerciser.
  25. AccessODF. Accessed 2013-01-17.
  26. Microsoft Developer Network: Accessibility (.NET Framework 4.5). Accessed 2013-01-17.
  27. Microsoft Windows Dev Center: UI Automation (Windows). Accessed 2013-01-17.
  28. GNOME Dev Center: Introducing ATK, AT-SPI, GAIL and GTK+. Accessed 2013-01-17.
  29. Access Mozilla. Accessed 2013-01-17.
  30. Access Firefox: Firefox Accessibility Features. Accessed 2013-01-17.
  31. AEGIS Consortium: LWUIT - Mobile Accessibility. Accessed 2013-01-21.
  32. DAISY Consortium: AMIS: DAISY 2.02 & DAISY 3 Playback Software. Accessed 2013-01-17.
  33. AEGIS Contact Manager. Accessed 2013-01-17.
  34. WebInSight: WebAnywhere: A Screen reader on the go Archived 2016-05-23 at the Portuguese Web Archive. Accessed 2013-01-17.
  35. Inference Group (University of Cambridge): Mobile Dasher. Accessed 2013-01-17.
  36. Dasher for iOS on iTunes. Accessed 2013-01-17.
  37. Iosif Klironomos, Julio Abascal, Ilse Bierhoff: D3.1 Report with background material needed to support the SDDP-2 Meeting: An Introduction to the Key Issues Relating to Accessible User Interfaces. Accessed 2013-01-17.