Re: canvas example

On 12/21/11 6:27 PM, Jonathan Mcdougall wrote:
>> >  This is an odd example, IMO -
>> >  http://canui.sourceforge.net/canui/canui.js  is a huge amount of
>> >  code
> I am the author of that library. I was not aware of this discussion
> and only found it recently on google. Sorry if I'm a bit late.

Jonathan, thank you for posting to the list. We're in need of 
experienced Canvas developers, your perspective is important.

I've also written a Canvas UI library, as an experiment in implementing 
CSS linebox and HTML4 forms. It started as an effort in implementing the 
<select> element in Canvas, as standard <select> elements were not very 
flexible at the time. It's also intended for the public domain.

I'd like to work with you toward partial WCAG 2.0 Conformance. That's a 
big part of what I've been doing on this list: trying to ensure Canvas 
UI can meet WCAG 2.0
http://www.w3.org/TR/WCAG/

You've already done some keyboard events; there are some role="" 
attributes (already matching what you're using, names like "combobox") 
and other tweaks that will bring canui closer to conformance.

We've been working toward some advanced techniques as well, not yet 
implemented in browsers, to place native elements into the Canvas 
sub-tree and make them live.
So for example, with your application, it makes the most sense to have a 
combobox look like:
<canvas role="combobox" tabindex="0" aria-label="select an item"></canvas>

That minor tweak relies on ARIA -- there are a few other ARIA attributes 
to be added to signify what option is selected,
you can see them in the ARIA 1.0 spec for the combobox role.


In the future, more complex widgets may be written with semantic HTML, 
in addition to ARIA:
<canvas role="application"><label>Select 
<select><option>Option</option></select></label></canvas>

That's what we've been working hard to achieve these past years.

-Charles

Received on Thursday, 22 December 2011 19:32:33 UTC