- From: Richard Schwerdtfeger <schwer@us.ibm.com>
- Date: Wed, 24 Feb 2010 11:49:19 -0600
- To: "Charles McCathieNevile" <chaals@opera.com>
- Cc: public-canvas-api@w3.org, "public-html-a11y@w3.org" <public-html-a11y@w3.org>, public-html-a11y-request@w3.org
- Message-ID: <OFA93EC7F5.4BB88DC3-ON862576D4.005FA036-862576D4.0061E68C@us.ibm.com>
Rich Schwerdtfeger Distinguished Engineer, SWG Accessibility Architect/Strategist public-html-a11y-request@w3.org wrote on 02/24/2010 09:57:29 AM: > "Charles McCathieNevile" <chaals@opera.com> > Sent by: public-html-a11y-request@w3.org > > 02/24/2010 09:57 AM > > To > > Richard Schwerdtfeger/Austin/IBM@IBMUS> > > cc > > public-canvas-api@w3.org, "public-html-a11y@w3.org" <public-html-a11y@w3.org> > > Subject > > Re: Please vote on the canvas accessibility proposal > > On Wed, 24 Feb 2010 16:14:25 +0100, Richard Schwerdtfeger > <schwer@us.ibm.com> wrote: > > > > > 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.). > > If we return to HTML 4.01's image maps (which we specifically pushed to > have changed in order to make them support accessibility, although the use > cases at the time were a bit more simplistic), then you can easily do > those things. > > > Contextual information is very important. > > Sure. That's why I get annoyed at people who think that a random piece of > text somewhere on a page is automatically good enough to make a complex > image accessible. > > > You can try to reproduce all that with ARIA but it is a lot more work > > It is more work. But then, trying to build a visually rich application in > a scripting language is a lot of work too. You have to construct a model > of your own, and then represent it and maintain sufficient state if you > want interactivity. Compared to which, setting a few aria-attributes is > trivial - it is exactly the work you are already doing. > yes, and the subtree you could construct the same way. You could use a map in the subtree and apply aria attributes as you indicate. And you could probably reuse most if in fallback. I would just not limit the author to use an area map. I do agree it is an excellent approach for a lot of content. My hats off to the Opera team for identifying that as an implementation. > > It would be easier to use an imagemap as a technique in the subtree and > > simply set adom="true" when canvas is rendered..). > > I don't think so. It's also pretty limiting as an approach. I might use > some controls which are common to the visual version of the canvas, the > extended (accessible) interface that goes beyond just click trapping, and > the fallback content that is offered if the canvas is not rendered in the > first place. adom doesn't help me do that, as I understand it, but using > existing HTML that is already possible. > It seems that that we are both talking about the issue of where the mapping lies. Should adom take an id as a parameter vs. a boolean? > cheers > > Chaals > > > 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 > > > -- > 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 >
Received on Wednesday, 24 February 2010 17:50:18 UTC