Important: This document may not represent best practices for current development. Links to downloads and other resources may no longer be valid.
Introduction to Accessibility Programming Guidelines for Carbon
All Carbon applications can and should be accessible to users with disabilities. The process of making an application accessible is called access enabling. How big a job this is depends on the extent to which your application uses custom user interface objects.
If your Carbon application relies on HIObjects for all its user interface elements (including subclasses of HIView), most of the accessibility infrastructure is provided for you. If, on the other hand, your Carbon application uses some custom subclasses of HIObject or HIView or relies on a custom application framework, you need to supply more of the accessibility infrastructure yourself.
This document outlines how to access-enable applications throughout this range. It provides steps you can follow to access-enable an application that uses only HIObjects and HIViews in its user interface. It then provides guidelines to help you access-enable an application that implements custom views or depends on a custom application framework.
Who Should Read This Document
All Carbon application developers should read this document to learn how to make their applications accessible to users with disabilities. If you’re new to accessibility you should read Accessibility Programming Guide for OS X to get an overview of the Mac OS X accessibility architecture.
If you’re an assistive application developer, you don’t need to read this document. Instead, you should read Accessibility Programming Guide for OS X to become familiar with the Mac OS X accessibility architecture and then you should read Accessibility Reference for Assistive Applications.
Organization of This Document
This document has the following chapters:
Accessibility and the Carbon Framework describes how Carbon implements accessibility and provides support for access-enabling Carbon applications.
Making a Standard Carbon Application Accessible describes the steps you follow to access-enable a Carbon application that uses only standard HIObjects.
Making a Semistandard Carbon Application Accessible describes additional steps you follow to access-enable a Carbon application that implements some custom subviews.
Making a Custom Carbon Application Accessible provides guidelines to help you access-enable a Carbon application that implements a custom view subsystem or implements its interface procedurally.
Revision History describes changes to this document.
The Accessibility Reference Library contains several documents that cover accessibility:
Getting Started With Accessibility provides a brief introduction to accessibility and describes learning paths you might choose to follow.
Accessibility Programming Guide for OS X describes the Mac OS X accessibility architecture.
Accessibility Programming Guidelines for Mac describes how to access-enable a Cocoa application.
Accessibility Reference for Assistive Applications
Carbon Accessibility Reference describes the functions, data types, and constants used in accessible Carbon applications.
NSAccessibility describes the NSAccessibility protocol and its methods and constants.
In addition to these documents, Apple maintains a website devoted to accessibility in Mac OS X, with links to more information about compatible assistive technologies: