What’s Up with Flash Player 10, Doc?
But seriously, where are the docs and compiler support for the new and exciting beta of Flash Player 10? I watched the video, and I looked at what is probably the only Flash 10 SWF on the web from the demo page on Adobe Labs. What else can I do? I couldn’t seem to get the the “Download Source” buttons to work at all, and now I’m getting frustrated! There’s a new Flash Player, and I want to play! I need API docs and a new playerglobal.swc to do it. Let me write some code and run it, damnit!
Yours truly,
Every Flash developer on the planet
UPDATE: Targeting Flash Player 10 Beta with Flex SDK 3.0.x
UPDATE 2: Lee Brimelow made a Video Tutorial on Compiling for Flash Player 10
UPDATE 3: Download the Flash Player 10 API Documentation. Courtesy of Lee Brimelow again.
by Josh Tynjala | 7 comments
Yahoo! Astra 1.2 has new layout containers for Flash! (and more)
Grab the open source goodness known as Astra 1.2 from the Yahoo! Flash Developer Center and read all about the new 1.2 release on the Yahoo! Flash Blog. This release includes updates to the Flash components, the removal of the Flex Maps hack from the Web APIs library (use the new Yahoo! Maps AS3 API instead), and the addition of the new Astra Utilities library.
Looking over the release notes, I realize that I made loads of contributions to this release. In particular, here are some highlights:
-
Charts now support legends! This is a much needed feature that just required a bit of time to get right.
-
Some cool new additions to LineCharts. I’ll be writing a blog post highlighting some of these new features soon.
-
Layout containers should be a big help to many projects. I’ve seen time and again Flex developers doing an AS3 project and complaining that there are no layout controls available in Flash CS3. Now you’ve got HBoxPane, VBoxPane, FlowPane, TilePane, and BorderPane at your disposal.
-
A lightweight Animation class. Yeah, I know, why do we need another tween library? We probably don’t, but when I wrote it, nothing else quite fit my needs. This actually got released in 1.1 as part of the charts, but now that we’ve got a library for generic utilities, I can give it a proper moment in the spotlight.
-
The layout utility provides the core framework used by the Flash CS3 layout containers. The purpose of this library is to allow component developers to build layout containers for any component set a bit more easily. Please read the documentation on YDN if you want to learn more. I explain the layout utility in much more detail over there.
Again, grab all the new downloads from the Yahoo! Flash Developer Center. All of our releases are available under the terms of the new BSD license, so enjoy! If you have any questions, comments, bug reports, or feature requests, please post them to the ydn-flash list.
by Josh Tynjala | 2 comments
Adobe needs to improve accessibility in Flash Player
For the last couple of weeks, I’ve been focused entirely on understanding the accessibility capabilities of Flash Player. My goals were two-fold. First, I needed to learn as much as possible about the documented and undocumented APIs available to ActionScript (The “undocumented” link purposefully leads to a page that doesn’t exist). Second, I wanted to use my findings to create a list of feature requests so that Adobe can improve accessibility support in future versions of Flash Player.
The following list compiles, in no particular order, what I felt were the more important missing features related to Flash Player’s accessibility. After each description, I link to the relevant feature request in Adobe’s public bug database. Please vote!
-
Flash Player isn’t accessible on a Mac
For a cross-platform runtime, it’s a little troubling to see that Flash Player on a Mac can’t communicate with a assistive technology. Mac OS X 10.4 and 10.5 both include a built-in screen reader, called VoiceOver. With two versions supported by the base Mac operating system (it’s not an addon), I sincerely hope support for VoiceOver is a priority for the upcoming Flash Player 10.
Feature Request: Support Accessibility API on Mac OS X
-
The AccessibilityProperties class doesn’t support roles
Adobe recommends that we use the documented class, AccessibilityProperties. This class provides a simple API for many properties used by screen readers. One property it doesn’t expose is the role of the accessible object. Everything seen by a screen reader in Flash Player is a “graphic”. I’d love to be able to specify that an object is a button or a list.
WAI-ARIA roles are recommended for UI controls created in HTML. I think this would be a great standard for Adobe to use as a basis for Flash Player’s accessibility.
Feature Request: Support for roles in AccessibilityProperties
-
AccessibilityProperties doesn’t expose the display list hierarchy
This one’s a little more abstract, but the hierarchy of accessible objects on the display list isn’t made available to accessibility clients when you use AccessibilityProperties. If I make a TabBar control, I cannot specify that individual tabs are children of the TabBar.
I can’t declare the ultimate importance of this feature because I’m not an experienced screen reader user, but I definitely noticed the difference while testing with Microsoft’s Accessibility Explorer. When viewing native Windows applications, it displays a nice tree of objects that one can navigate. In a Flash Player application, I only saw a flat list of objects. At the very least, if this hierarchy isn’t important for screen reader users, it helps a developer to organize a very complex application for debugging purposes.
Feature Request: Support for Object Hierarchy in AccessibilityProperties
-
Some accessibility APIs in Flash Player are undocumented
As I stated previously, Flash Player has undocumented accessibility APIs. The Flex components and the Flash CS3 components both uses the undocumented class
flash.accessibility.AccessibilityImplementation. It appears this class is based on the IAccessible interface from Microsoft’s Active Accessibility (MSAA).Unfortunately, Adobe’s implementation for ActionScript is incomplete because it doesn’t provide all the same functionality available to developers using MSAA. Additionally, this API is obviously platform-specific, so future Mac support will likely need to be handled very differently.
I believe that Adobe needs to do one of two things.
-
AccessibilityImplementation should be fully documented. If Adobe wants the developer community to be able to build complete components of the same quality as the Flex framework components, we should have access to the same APIs.
-
Alternatively, if Adobe believes that we shouldn’t be using the AccessibilityImplementation class (the reasons I stated above are good reasons why we shouldn’t use it), they should not use this API themselves. It looks unprofessional. If that’s the case, substitute a better API that will allow cross-platform development and more complex controls. This may be possible with some simple additions to the existing AccessibilityProperties class.
Feature Request: Accessibility implementations use undocumented APIs
-
For more information about the limitations of Flash Player’s Accessibility features, see Niqui Merret’s blog post from last year, Accessibility in Flash bug and issue list. For information related to web accessibility and laws in various jurisdictions around the world, see Policies Relating to Web Accessibility. In time, accessibility laws will become stronger, and it’s important that Flash Player provides better support early so that developers can prepare.
by Josh Tynjala | 9 comments
Modern Flex Developer - A Video for 30onair
Not long ago, Adobe’s Ted Patrick introduced 30onair, a community video project promoting Adobe technologies. What a great idea, I thought, but I didn’t have any good ideas right away. Thankfully, Phillip Kerman made enough WHY videos to keep us entertained for years.
Finally, I decided to show my love of Flex with a little song. Without further ado, here’s Modern Flex Developer, a parody of Gilbert and Sullivan’s Major General’s Song.
Enjoy!
by Josh Tynjala | 6 comments





