Re: change proposal - Provide a method for canvas subtree to be hidden from all users

On Mar 17, 2010, at 3:08 PM, Ian Hickson wrote:

> On Wed, 17 Mar 2010, Maciej Stachowiak wrote:
>> On Mar 17, 2010, at 3:39 AM, Silvia Pfeiffer wrote:
>>>
>>> This is an excellent document and has indeed answered many of the
>>> questions that I still had.
>>>
>>> If I understand the use for the new attribute now correctly, it is a
>>> replacement for requiring a web author to write javascript to remove
>>> the content inside the <canvas> element in the case that the content
>>> is not accessibility content, but rather only legacy browser  
>>> fallback
>>> content. That actually makes sense to me, in particular for
>>> convenience purposes.
>>
>> For the record, it makes sense to me too, for much the same reason.
>
> Given that there has to be script anyway, and that that script is  
> going to
> generate the accessible content, and that if the script fails the  
> fallback
> is actually what you would want to show to everyone (even the AT  
> users),
> and that therefore the attribute should be set by script, what is the
> advantage of adding this feature? From an author perspective it  
> seems to
> replace "canvas.innerHTML = '';" with "canvas.setAttribute('...',  
> '');",
> which isn't even shorter.

I think the intent is for use cases where the canvas is auxiliary  
content that is presentational or redundant with other content in the  
page that is available to all users. However, it's still desirable to  
have a notice to users with browsers that don't support canvas at all,  
so they can consider whether to get a more capable browser. For example:

<canvas id=salesGraph nonav>
To see the graph, you need a browser that supports canvas.
</canvas>
<table id=salesTable>
...
</table>

Where the canvas shows a dynamically generated graph with  
substantially the same information as the table.

Offhand I am not sure if this use case is common enough to be worth  
the convenience, but since <canvas nonav> essentially replicates  
<canvas id=foo><script>if (getElementById("foo").getContext)  
getElementById("foo").innerHTML = ""</script> then it doesn't seem  
harmful.

The question is really whether the use case of accessible content  
outside the canvas is common enough to specifically serve with a  
shortcut.

Regards,
Maciej

Received on Wednesday, 17 March 2010 23:51:16 UTC