Reiterating the use case for Canvas 2d spatial accessibility

Though discussed previously, I think it's important to re-iterate that 
traditional desktop applications, as well as application styles that 
were previously only operable on the desktop will become more prevalent 
on the internet. These include screen sharing protocols, such as VNC, 
and cross-compiled applications, often ported through LLVM.

Emscripten is an "LLVM-to-JavaScript Compiler". It enables authors to 
support code bases from a range of programming languages, compiling them 
into LLVM byte code, which can then be run in the browser. Many 
applications which use low level APIs can be ported to display content 
using the Canvas API.

http://code.google.com/p/emscripten/


Intel Lab is experimenting with parallel processing and has recently 
released a proof of concept for Mozilla Firefox. Their software is 
called River Trail. Both canvas APIs (2d and webgl), allow authors to 
manipulate display pixels at a low level.  This processing style can 
often be used over multiple cores.

River Trail is an interesting experiment in integrating parallel 
processing with JavaScript:
https://github.com/RiverTrail/RiverTrail/wiki


Canvas currently lacks an internal mechanism for associating multiple 2d 
regions with accessibility objects in the Canvas subtree. Currently 
authors must use transparent CSS boxes positioned over the Canvas 
element. As web applications gain more traction, more interfaces, it's 
likely that traditional desktop applications and use cases will continue 
to be ported onto the web. Desktop applications are able to define 
regions, as well as hit testing, in a manner that is shared with the 
operating system and its associated accessibility APIs. Web applications 
are only able to do so through the CSS box model.

I would like to see an addition to the Canvas API which allows 
applications to directly specify that multiple regions should be 
associated with accessibility objects. This API would allow an author to 
use the current Canvas path, and an element existing in the Canvas 
subtree, and share that information with the operating system.

-Charles

Received on Friday, 16 September 2011 21:42:27 UTC