# Accessibility Inspector

The hardest thing about GUI scripting in AppleScript is figuring out how to address the various controls on the screen. The class names of standard buttons, text fields, and menus are fairly easy to remember, but the more exotic controls can be tricky. Apple provides a little application that can be a big help with those less common GUI elements.

It’s called Accessibility Inspector, and it used to come with the Developer Tools. You could find it in the Accessibility Tools folder buried deep within the Developer folder.

Depending on the version of Xcode you have, it may still be there. If you’ve upgraded to Xcode 4.3, it might be in the same place, but with the top-level folder renamed to Developer-old. If you don’t have it at all, you can get it from this developer downloads page in the Accessibility Tools section.

The Accessibility Inspector isn’t a particularly nice-looking app. It has a single window that lists the attributes and hierarchy of whatever GUI element is under your mouse. I used it yesterday as I was writing my blurring scripts. For example, Acorn’s Fill… command brings up a window with a couple of popup menus. I tried referring to them in my script as popup menu and popup button, but AppleScript didn’t understand either of those names. With Accessibility Inspector, I quickly learned—from the entry for AXRoleDescription—that the correct term is pop up button—three words, not two.

(You can see a bigger version by clicking on the image to go to its Flickr page.)

I also learned that the Blending pop up button didn’t have a name. See the “Missing value for AXTitle” down near the bottom? That meant I’d have to access the pop up button by number rather than name. Since it was the second of two such controls in the window, I tried

tell window "Fill"
tell pop up button 2
click