W3C home > Mailing lists > Public > public-canvas-api@w3.org > January to March 2010

Re: Please vote on the canvas accessibility proposal

From: Steven Faulkner <faulkner.steve@gmail.com>
Date: Wed, 24 Feb 2010 11:11:02 +0000
Message-ID: <55687cf81002240311x1bfd9bfbm7200ccb51d22350c@mail.gmail.com>
To: Charles McCathieNevile <chaals@opera.com>
Cc: Silvia Pfeiffer <silviapfeiffer1@gmail.com>, "public-html-a11y@w3.org" <public-html-a11y@w3.org>, public-canvas-api@w3.org
Hi Charles,

I support the idea of adding usemap to canvas as I have previousdly stated
and have filed a bug to this effect (
http://www.w3.org/Bugs/Public/show_bug.cgi?id=9061). In another thread you
also mentioned that it works with opera 10.5, is that a partcular OS? as i
could not get it working on windows.


On 24 February 2010 11:00, Charles McCathieNevile <chaals@opera.com> wrote:

> On Wed, 24 Feb 2010 08:31:52 +0100, Silvia Pfeiffer
> After having read the URL that you pointed to, it seems to me that
>> fallback content in canvas is different to fallback content in video.
> ...
> It seems this is different for the Canvas since the canvas fallback
>> content can also provide focusable content.
>> At this point, I actually wonder if the Canvas' fallback content is
>> not overloaded in meaning: it can both contain information for legacy
>> browsers and it can contain focusable elements for accessibility
>> reasons. I wonder if it would make sense to separate the two concepts
>> somehow. Maybe some markup that would be invisible on screen if the
>> canvas element is supported, but can still be accessed by the AT?
> Yes, I think this makes sense
> Maybe it is possible to move the focusable elements into some other
>> subelement of Canvas (similar to how the video element has source
>> elements inside it)?
> This is what the map element has been offering for most of the lifetime of
> HTML. And it works inside elements like object and canvas already. We had
> a bug on it for canvas that we have fixed in 10.50, and the other browsers
> I tested manage it, which is a lot more widespread than waiting for
> implementation of a new attribute that interferes in focus management.
> HTML 4.01, about a decade ago now, was specifically tweaked to match what
> browsers did, allowing for a mix of area elements or block elements.
> area elements have no visible rendering although they do have alt and can
> have title. They have an existing behaviour in the focus management and
> are handled by assistive technology, keyboard control of browsers, and
> anything else I can think of. Updating an area element to change its
> coordinates is pretty trivial if you are writing a dynamic canvas
> application where you are already calculating coordinates for painting.
> You can also have block content inside an image map. Which means,
> effectively, anything you want.
> So making your canvas accessible means providing information about what is
> happening inside it, and a way to interact with it that doesn't rely on
> the mouse. There is an authoring requirement here, that the author do the
> right thing. And it may be that they build some more complex set of DOM
> structures that have their own interaction behaviour, and don't need any
> markup stub.
> But it seems to me that map allows everything we might get from adom. You
> can build an structure that is not visible, allows you to dynamically
> interact with the canvas, attach information that can be rendered by AT,
> and has well-known focus management. And it's already described in
> tutorials, implemented in browsers, familiar to users, working in
> assistive technology.
> You can also build your fallback content inside canvas. If we reinstated
> the shape and coords attributes on the a element, which were there
> specifically to use block content instead of area elements in a map, we
> would offer the possibility of defining fallback content that included the
> hooks for making the canvas accessible - and thus allowing reuse of some of
> the script logic where the ability to use a canvas itself isn't completely
> integral to achieving the goals of the application. (E.g. a drawing
> application based in canvas should, but in all probability wouldn't, offer
> fallback with the accessible controls shared between the canvas and the
> fallback. But a canvas application for dynamically putting objects in an
> order the user likes could much more easily provide a fallback with shared
> controls).
> As a complicated thought experiment, imagine a Tetris game written in
> canvas. If you have something like
> <canvas usemap="#theMap">
>  <map name="theMap">
>    <area alt="current: L, pointing down, left 3 bottom 5" accesskey=" "
> onclick="drop()" shape.../>
>    <button onclick="spin(cc)" accesskey="z"><img src="ccButton"
> alt="counter-clockwise"/></a>
>    ...
>    <img alt="next: square block" .../>
>    [some description of the state of the blocks at the bottom already]
>  </map>
>  <script src="tetris.js"/>
> </canvas>
> And it is slow enough to move around and find what is happening, the script
> can pretty readily change the relevant bits of the map at the same time as
> it updates the graphical view. A bit more thought than the ten minutes that
> I put into this example might provide a parallel verbal tetris game if
> canvas doesn't work (or if someone is too good at it and wants more
> challenge), that wouldn't require any assistive technology to use...
> Note, I am trying to make suggestions not understanding all the
>> consequences, that I am sure you have thought through. However, I have
>> the impression that the @adom attribute doesn't actually help you
>> separate the overload issue: if @adom is given, the browser would
>> still display both, the text for legacy browser and the extra
>> focusable elements that at this stage relate to something that the
>> browser cannot visually present.
> Yeah, I cannot actually see anything the adom attribute really adds.
> Steven F wrote
>>> Silvia had written
>>> Is this because the AT doesn't support the canvas element yet? I would
>>>> think that it is expected of AT that supports HTML5 markup to ignore
>>>> "fallback" on an element that only applies to legacy browsers.
>>> canvas is a visual element, like <img> AT such as screen readers cannot
>>> support it as such, but they can access alternatives if the browser that
>>> a person is using with their AT exposes the alternative.
>>>  Another example would be that the viusal aspects of a video are not
>>> accessible to a blind user, so she needs audio description provided as
>>> an alternative, even though the browser she is using supports the video
>>> element.
> And, like video, whether the user has some particular assistive technology
> running doesn't (and shouldn't) determine whether the canvas or its fallback
> content is rendered (although following UAAG, the user should be able to
> turn the canvas off).
> cheers
> Chaals
> --
> Charles McCathieNevile  Opera Software, Standards Group
>      je parle franšais -- hablo espa˝ol -- jeg lŠrer norsk
> http://my.opera.com/chaals       Try Opera: http://www.opera.com

with regards

Steve Faulkner
Technical Director - TPG Europe
Director - Web Accessibility Tools Consortium

www.paciellogroup.com | www.wat-c.org
Web Accessibility Toolbar -
Received on Wednesday, 24 February 2010 11:11:57 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:10:25 UTC