Cocoa Frameworks for Writing Assistive Applications
The PFiddlesoft Frameworks include the PFAssistive and PFEventTaps Frameworks. They support and enhance Apple's Accessibility and Quartz Event Taps APIs, enabling Cocoa developers to use familiar programming techniques to create assistive applications without having to master the technicalities of Apple’s procedural C Accessibility, Core Foundation, and Core Graphics APIs.
Apple's Accessibility technology grew out of Section 508 of the Workforce Investment Act of 1998 and its requirements regarding access to electronic and information technology for persons with disabilities. Compliance with Section 508 is a prerequisite for sale of computer and other products to the federal government and to many state agencies and educational institutions. The Accessibility API is designed for use both by developers incorporating its features into their own accessible applications and by developers of assistive devices and applications for users with disabilities. The Event Taps API is also a Section 508 enabling technology.
Because Accessibility and Quartz Event Taps are built into every standard Mac OS X User Interface element, whether written using the Cocoa or Carbon frameworks, the frameworks are capable of much broader uses. Software testing tools, network administration tools, troubleshooting tools, plug-ins for applications that don't have a plug-in architecture, and remote control applications are only some of the possibilities.
The PFiddlesoft Frameworks require Mac OS X 10.7 Lion or newer and they support new accessibility features introduced in OS 10.8 Mountain Lion, 10.9 Mavericks and 10.10 Yosemite. They support the Intel 64-bit architecture using reference counted memory management or ARC. They are designed to be installed as shared frameworks or embedded in an application package.
Licenses are free for personal use and for distribution or use with any product you distribute without charge. A flat one-time license fee of $250 US is required for distribution or use of each framework with a product for which you request or require payment. Source code is available for a separate fee. Different terms apply to large or established commercial software developers.
Both frameworks have been revised and updated over a period of years, and they have demonstrated their power and reliability in PFiddlesoft’s commercial and free developer utilities. PreForm Assistive Technologies, LLC is making the PFiddlesoft Frameworks available to all Macintosh developers. Together, the PFiddlesoft Frameworks bring to Cocoa developers the full range of Accessibility and Event Taps capabilities needed to write assistive applications and other software that explores, monitors and controls the User Interface elements and user inputs of most Mac OS X applications.
For instructions on how to use the PFiddlesoft Frameworks, including source code examples, read or download our Assistive Application Programming Guide for Mac OS X 1.7, a 40-page PDF document. Also download the PFAssistive Framework Reference and the PFEventTaps Framework Reference for detailed documentation of all of the frameworks' classes, protocols, and methods. The Programming Guide is also included in both framework bundles along with the framework references. Download the SimpleScreenReader 1.3.0 source code as a compressed Xcode 5.0.1 project file for example source code showing how to use the PFAssistive Framework. Download the Event Taps Testbench source code for our free Event Taps Testbench developer utility as a compressed Xcode 5.1 project for example source code showing how to use the PFEventTaps Framework. Finally, for developers struggling to implement the new OS X 10.9 Mavericks technique for granting access to assistive applications, read "A Note on Security Issues Presented by Assistive Applications" on the Support page and go to the Accessibility Testbench page to download our new, free Accessibility Testbench developer utility, including complete source code.
NOW AVAILABLE: NEW RELEASE! ‐ PFAssistive Framework 3.4.0, released October 2014, and PFEventTaps Framework 1.3.6a, released March 2014.
Both frameworks support OS X 10.10 Yosemite
Read all about the PFiddlesoft Frameworks on our website:
- Press - Update of the PFAssistive Framework on October 25, 2014 to add support for new accessibility features introduced by Apple in OS X 10.10 Yosemite
- Support - including general PFiddlesoft Frameworks tips
This page was first published by PFiddlesoft on May 25, 2010. Last updated October 25, 2014.
Copyright © 2003-2014 Bill Cheeseman. Used by permission. All Rights Reserved.
PFiddlesoft, PFiddle Software, Pfiddle, Pfiddles and the PFiddlesoft logo are trademarks of PreForm Assistive Technologies, LLC.
Download PFAssistive Framework 3.4.0, released October 2014.
Download PFEventTaps Framework 1.3.6a, released March 2014.
Both of the PFiddlesoft Frameworks require Mac OS X 10.7 Lion or newer. See the Requirements section below for details.
Read or download our Assistive Application Programming Guide for Mac OS X 1.7, a 40-page PDF document explaining how to use both of the PFiddlesoft Frameworks to write assistive applications, with sample code. Also download the PFAssistive Framework Reference and the PFEventTaps Framework Reference for detailed documentation of all of the frameworks' classes, protocols, and methods.
Download the SimpleScreenReader 1.3.0 source code as a compressed Xcode 5.0.1 project file for example source code showing how to use the PFAssistive Framework.
Download the Event Taps Testbench source code for our free Event Taps Testbench developer utility as a compressed Xcode 5.1 project for example source code showing how to use the PFEventTaps Framework.
Download the PFAssistive Framework distribution license and the PFEventTaps Framework distribution license. Go to the Support page for a summary of the license terms and for instructions for executing and delivering the licenses to us. An executed license is required for free distribution or use with your free products, and for distribution or use subject to a flat one-time license fee with a product for which you request or require payment.
The PFiddlesoft Frameworks require Mac OS X 10.7 Lion or newer. As of this writing, both frameworks have been tested successfully through OS X 10.10.0 Yosemite.
An older version of the PFEventTaps Framework for Mac OS X 10.4 Tiger, version 1.1, is no longer offered.
Also get UI Browser, the "ultimate assistant" for GUI Scripting.
For a whole new way to run AppleScript scripts, get UI Actions for "universal attachability."
To explore what your applications can do with Quartz Event Taps, get the free developer utility Event Taps Testbench.