[html4all] CANVAS (was Discussion: "Accept requirement...

Charles McCathieNevile chaals at opera.com
Sat Nov 24 08:29:25 PST 2007


On Wed, 21 Nov 2007 20:31:03 +0100, John Foliot <foliot at wats.ca> wrote:

> Charles McCathieNevile wrote:
>
>>> However, the real question is "Does <canvas> allow
>>> for fallback content at all?", and the draft spec.
>>> totally fails to clarify this.
>>
>> As far as I can see it does so. Otherwise I would be raising hell -
>> as an implementor of canvas, we need this. In any case, it should
>> never be allowed forward without doing so.
>>
>
> Well, the Draft Spec states:
>
> "When authors use the canvas element, they should also provide content  
> that, when presented to the user, conveys essentially the same function
> or purpose as the bitmap canvas. This content may be placed as content
> of the canvas element. The contents of the canvas element, if any, are
> the element's fallback content."
> [http://www.whatwg.org/specs/web-apps/current-work/#the-canvas]

(Which means it works like the object element...)

> ...I would surmise that "...content that... conveys essentially the
> same function or purpose..." means a textual alternative...

Not at all.

> So question one to the draft editors then is, "*How* does the content  
> author specify this other (alternative) content?"

Normally, put it inside the canvas (in minimal HTML-legal but non XHTML  
syntax that I realy don't recommend to anyone ever):

<!DOCTYPE html>
<html><title>canvas example</title>
<script src=coolCanvasDemo.js>
<canvas id=foo width=300 height=300>
   <object data=accessibleSVGVersion.svg width=300 height=300>
     <p>Well, I really haven't thought hard enough. Basically, I
       should put a form here, since all that really happens with
       the 3D view and cool aliens and stuff is that I ask for your
       name and credit card numbers and get you to select things to
       buy
   </object>
</canvas>

(I am pretty sure that is valid HTML5 according to the current draft, and  
Anne would be happy. Although I don't think I will write another example  
like that for a while - I really prefer code I can paste into a normal  
XHTML document)

> As I continue to read through the Draft Spec, I note with interest many  
> code examples, yet none of the current examples show an implementation
> of content that "...conveys essentially the same function or purpose as
> the bitmap canvas..."

Actually, it is not easy to do. One example would be to ask Grafio  
permission to use a bunch of the code from his drawing widget [1] and then  
provide, as fallback, one of the various SVG drawing widgets. It's a bit  
artifical, but probably makes the point.

> So question two would be, "Can we have an example that specifically and
> explicitly shows authors *how* to provide this essential content?"

In principle yes. (In practice, this is complicated)

> Finally, as an addendum, I would humbly suggest that the statement  
> "...they should also provide content that..." be re-written to
> state "...they MUST also provide content that...", if we are to
> ensure universal access.

This is really a seperate topic. It is clear that if you don't provide  
something accessible as a fallback, then accessibility is broekn. it is  
equally clear that making this a conformance requirement means that basic  
conformance cannot be machine tested. I have ome thoughts on this issue,  
but I will raise them seperately in the HTML-WG (following up on a thread  
 from DanC about 6 months ago).

cheers

Chaals

> Colleagues, am I missing something here?

Only a comment about "accesskey delendum est" ;)

-- 
Charles McCathieNevile  Opera Software, Standards Group
     je parle français -- hablo español -- jeg lærer norsk
http://my.opera.com/chaals              Try the Kestrel - Opera 9.5 alpha



More information about the List_HTML4all.org mailing list