Very interesting post about javascript I am forwarding on.

  • From: "Ken Perry" <whistler@xxxxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Mon, 20 Jun 2011 09:35:36 -0400

From: "Bryan Garaventa" <bgaraventa11@xxxxxxxxxxxxxx>

To: "dev-accessibility Firefox" <dev-accessibility@xxxxxxxxxxxxxxxxx>
Subject: AccDC2 Released: a powerful dynamic content management framework
for
       accelerating dynamic behaviors for Rich Internet Applications
Date: Mon, 20 Jun 2011 02:37:58 -0700




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.

The original AccDC was written as a jQuery plugin. Unfortunately 
this severely limited its versatility and inflated its codebase 
unnecessarily. So I rewrote AccDC, which can now be used as a 
standalone API, or in conjunction with jQuery, YUI, Ext JS, 
Prototype, Glow, Dojo, GWT, MooTools, Processing, Raphael, X, 
Tridion, or any other JavaScript library or framework without 
conflict. I also reduced its codebase by 40%, doubled its processing 
speed, and completely redesigned its object model to be 
self-referencing. My focus in rewriting AccDC was minimalism, so 
that all features are designed to be as condensed, powerful, and 
fast as possible.

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.

Functional AccDC Object setup files can be viewed at
http://whatsock.com/js/ready.js
http://whatsock.com/js/demo.js
and
http://whatsock.com/files/demo/chat/js/init.js

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)

In practicality though, AccDC is designed for use by everyone, the 
power and speed of which can be incorporated into any architecture, 
platform, or framework that supports JavaScript.

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
http://WhatSock.com

All the best,
Bryan Garaventa

__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

Other related posts: