W3C home > Mailing lists > Public > public-html@w3.org > July 2009

Re: Request for advice on <canvas> accessibility

From: Charles McCathieNevile <chaals@opera.com>
Date: Thu, 16 Jul 2009 17:02:25 +0200
Cc: wai-xtech@w3.org
To: "Steven Faulkner" <faulkner.steve@gmail.com>, "Ian Hickson" <ian@hixie.ch>, "HTMLWG WG" <public-html@w3.org>
Message-ID: <op.uw51ebt6wxe0ny@widsith.local>
On Sat, 27 Jun 2009 08:22:28 +0200, Steven Faulkner
<faulkner.steve@gmail.com> wrote:

> Hi Ian,
> its great that you are reaching out to the W3C accessibility
> community. I for one feel honoured.
> I would suggest 3 things:
> 1. For a problem that has stumped you we need as much technical
> expertise as is possible, so have included the HTML WG in this email.

The particular problem Ian posed looks a lot like a table of data
converted to canvas. Creating an HTML table inside the canvas element and
allowing users to switch between the two, is one approach. There is a demo
of this in most of Opera's "state of the Mobile Web" reports[1,2], where
we use the technique. It's not perfect, but nor is a graph where I only
realised there was a moving average because the text at the bottom
referred to it - I couln't actually make it out visually until I was
looking directly for it.

> 2. we use an example that embodies the problem:
> http://people.mozilla.com/~jdicarlo/piemenus.html
> contains 2 examples of UI controls rendered using canvas.

I think there are lots more intersting example's that Ian's (and I am
surprised that he though such a simple dataset was so difficult to render
accessible - especially given the huge number of emails he must have read
by now on the topic of making tabular data accessible).

> 3. rephrase the question:  what  would need to be added to the canvas
> API so that the UI controls in the example could have
> programmtic focus (like an area on an image map)
> name, role and state information provided.

This is pushing into the area of solutions to actually difficult problems
posed by canvas, which I think involves building something like an
ARIA-tree in the DOM. In my ideal vision this would be backed by some
actual fallback like SVG, with real markup objects, but I imagine that may
of the use cases for canvas mitigate against that anyway.

As Jonas noted elsewhere, to a certain extent this leaves us relying on
authors to do the right thing, rather than having it happen automatically.
But in some cases (like the table stuff, which took almost no time to get
re-implemented at Opera by one designer) it's not complicated and best
practice can be spread reasonably easily. In others, it is hard - but as
has been noted many times, getting a chance at making a few important
things accessible is better than rejecting the baby with the bathwater of
misuse and ineffective attempts. At least if you rely on accessible
content to take part in society, which many people do.

[0] http://www.whatwg.org/issues/data.html
[1] e.g. http://www.opera.com/smw/2009/05 - more generally they are linked
[2] http://www.opera.com/smw/



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 Thursday, 16 July 2009 15:03:14 UTC

This archive was generated by hypermail 2.4.0 : Saturday, 9 October 2021 18:44:51 UTC