W3C home > Mailing lists > Public > public-html-a11y@w3.org > February 2010

Re: Please vote on the canvas accessibility proposal

From: Richard Schwerdtfeger <schwer@us.ibm.com>
Date: Wed, 24 Feb 2010 09:14:25 -0600
To: Steven Faulkner <faulkner.steve@gmail.com>
Cc: Charles McCathieNevile <chaals@opera.com>, public-canvas-api@w3.org, public-canvas-api-request@w3.org, "public-html-a11y@w3.org" <public-html-a11y@w3.org>, Silvia Pfeiffer <silviapfeiffer1@gmail.com>
Message-ID: <OF68389DFA.D3865A8C-ON862576D4.00533D7E-862576D4.0053B7E3@us.ibm.com>

usemap has benefits and problems.

benefits:

- for basic controls like button, checkboxes, etc. it is great.
- There are many ways it can be used for canvas today

problems:

- you can't use standard HTML input controls in it. For example, how do you
get at editable text?
- You can't use the HTML DOM to provide structural information placing a
greater burden on the author (tree widets, etc.). Contextual information is
very important. You can try to reproduce all that with ARIA but it is a lot
more work

It would be easier to use an imagemap as a technique in the subtree and
simply set adom="true" when canvas is rendered..).


Rich Schwerdtfeger
Distinguished Engineer, SWG Accessibility Architect/Strategist

public-canvas-api-request@w3.org wrote on 02/24/2010 05:11:02 AM:

> Steven Faulkner <faulkner.steve@gmail.com>
> Sent by: public-canvas-api-request@w3.org
>
> 02/24/2010 05:11 AM
>
> 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
>
> Subject
>
> Re: Please vote on the canvas accessibility proposal
>
> 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.
>
>
> regards
> stevef

> 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 - http://www.paciellogroup.com/resources/
> wat-ie-about.html
Received on Wednesday, 24 February 2010 15:15:18 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 27 April 2012 04:42:02 GMT