AccDC2 Released: a powerful dynamic content management framework for accelerating dynamic behaviors for Rich Internet Applications
When I started this project at the end of 2009, my goal was to prove that it was possible for a fully blind developer to build a visually oriented UI management system, and to accomplish something that has never been done before; which I believe I have now done. So here's what's new.
So here's the concept:
Imagine the Document Object Model, where DOM trees are nested within DOM nodes within DOM nodes.
AccDC works in the same manner by asynchronously generating AccDC Objects, which are configured, nested, interfaced with, and function autonomously.
AccDC Objects can represent any type of UI component, including dialogs, page tabs, static sections, context menus, tooltips, panels, prompts, images, animations, videos, players, or anything else; including HTML5 support.
Features include asynchronous processing, parent/child traversal, dynamic extendibility, method chaining, direct object referencing, and much more.
I've also added something fun on the Live Demo tab under "Drag & Drop", which is a starscape with draggable planets. If you drop a planet outside of the proper drop zone, it will mosey on over to the sun, dive into it, magically pop out from behind the sun and fly back to its original position, then zoom back into focus. All of which is completely useless of course, but I couldn't resist the challenge. :) (Not bad for a blind guy though if I say so myself...) Also the sun is draggable too, but I didn't configure this to be keyboard accessible as well, since it doesn't really matter where you stick it. The images for which are courtesy of the NASA Image Gallery, so thank you NASA for some awesome shots! I can't see them but I hear they rock...
As a secondary (but not insignificant benefit), AccDC now makes it possible for blind UI developers to build fully functional and visually appealing RIA designs while minimizing the need for sighted dev revamping. Since I haven't seen anything since 1994, I guess I can say I've proven this concept... There's also a cool feature for screen reader support, the "$A.announce()" method, which is also prototyped to the String object so that successive strings or DOM nodes can be announced in rapid succession without overlapping. (Perfect for realtime chat applications)
And that about sums it up. It's much more complex than that of course, including events and event handling, flow and behavioral controls, DOM node morphing, extensions and prototyping, and much else, but you can read all about that on the Core API tab at