## Accessible user interfaces

The term accessible is used to refer to software that has been designed so that people who have disabilities have a successful interaction with it. Accessible software takes many different kinds of disabilities into account:

- visual - people with color blindness, low vision, or who are completely blind
- audio - people who are hard of hearing or are completely deaf
- mobility - people who have physical impairments that limit their movement and fine motor controls
- cognitive - people who have learning disabilities and may need more consistency or simplicity in their interfaces

### Assistive technology

Assistive technology is equipment or software that is used to increase the accessibility of existing operating systems and applications. While it is beyond the scope of this programmer's guide to cover the broad scope of assistive technologies, it is important for you to know that they exist. Why? Because simple things you can do when programming your software or documentation, such as providing alternate text descriptions for images in your HTML, or keyboard equivalents for all of your software actions, can greatly improve the effectiveness of assistive technologies that make use of these techniques.

### Accessibility resources

There are some basic coding tips you can use when building plug-in user interfaces that will increase the accessibility of your software. See Tips for Making User Interfaces More Accessible for more information.

IBM's Accessibility Center Website has many useful resources for accessibility, including guidelines and checklists for developing software and web interfaces.

### SWT and accessibility

Because SWT uses the operating system's native widgets, user interfaces built with SWT will inherit any assistive technologies that have been installed on the host operating system. SWT implements an interface, AccessibleListener, which provides basic accessibility information, such as descriptions of controls, help text, and keyboard shortcuts, to clients. If you are developing assistive technologies that need more information or want to improve upon the basic accessibiliity of the workbench, you can add your own listeners and override the default accessibility behavior in the platform. See the package org.eclipse.swt.accessibility for more detail.