Re: implementing Canvas to assure accessibility

On Mon, 10 Mar 2014 11:25:22 +0100, Olaf Drümmer <olaf@druemmer.com> wrote:

> My interpretation of the canvas feature is as follows:
> - it has been invented for painting, not for representing content  
> structure

Indeed. It doesn't *do* content structure. There are ways people are  
working on to try and jam some capacity for structured representation into  
it, but so far it's theory and experiment :(

> - some of the use cases are speed optimised, low memory/CPU footprint  
> painting for games or animations

Right.

> - someone who is into content structure will feel more at home relying  
> on SVG, which is also a full class citizen of HTML5

Such an author would feel more at home. Unfortunately the SVG  
accessibility story is still a very mixed bag 15 years after setting out  
to do something useful - in particular, browser accessibility is weak to  
dreadful.

Which means it is only somewhat better.

> - probably SVG just wasn't fast enough or low enough on memory or CPU  
> footprint for certain use cases, so canvas was invented

While both of these were use cases, a concrete reason for some people to  
use canvas was "it's javascript not XML". Different developers have  
different preferences for their development tools. And different standards  
people hate different parts of other people's standards stacks.

> - re-injecting representation of content structure (whether for  
> accessibility purposes or other reasons) into canvas probably will also  
> reintroduce many of the problems canvas was invented to solve

Depends how you do it, so I'll address the original questions below...

> Am 10 Mar 2014 um 04:34 schrieb Jennifer Sutton <jsuttondc@gmail.com>:

>> I posted a message similar to this one to the WebAIM list on February  
>> 27, but I didn't receive any answers to the thread:
>> http://webaim.org/discussion/mail_thread?thread=6335
>>
>> So, I'm slightly modifying my message and posting here, in hopes of  
>> gathering input.
>>
>> I'm wondering if involved parties could offer the list an update on  
>> Canvas accessibility. One of Steve's recent tweets, pasted below my  
>> name, suggests that there's progress .

There is currently a discussion in the HTML Accessibility Task Force and  
in its canvas subgroup, trying to determine the best way forward for zoom  
and keyboard users. The direction that was being taken didn't convince  
some people, and it seems that the current favourite approach is different  
- instead of using drawFocusRing methods, it relies on hitRegions. So far  
there is an experimental implementation from a few weeks ago.

>> What I'd welcome is an update on the application of/implications for  
>> the use of Canvas, with respect to accessibility, in the real world,  
>> right now. I'm working with a client who's implementing it, and I need  
>> to provide guidance to assure both that the Canvas implementation can  
>> be made as accessible as possible (not just to screen reader users, of  
>> course). And I want to provide guidance about fallback techniques.
>>
>> Questions that are crossing my mind include:
>>
>> -- If Canvas is implemented to create an image, but the raw data is  
>> still available, will that raw data suffice, in terms of accessibility?

If it is a case like a table of data then raw data on its own is probably  
a long way from best practice. People are not so good at interpreting  
things like that. But maybe there are straightforward ways of  
automatically marking it up into some form like a table, and providing a  
toggle to move between the to views.

>> I would think some kind of textual description would be valuable to  
>> all, including anyone using an older browser that might not support  
>> Canvas.

Well, probably to a large number anyway, and it is certainly useful far  
beyond just to screen reader users.

>> -- Are there any Canvas-generating libraries that are particularly  
>> focusing on assuring accessibility?
>>
>> -- What is the best source of accessible examples?

I'll leave these (the important questions really) and hope someone who can  
answer them better does so.

cheers

Chaals

-- 
Charles McCathie Nevile - Consultant (web standards) CTO Office, Yandex
       chaals@yandex-team.ru         Find more at http://yandex.com

Received on Tuesday, 11 March 2014 02:10:01 UTC