Re: ISSUE 30 @longdesc use cases

On Mon, 23 Aug 2010, Jonas Sicking wrote:
> Define "presented to user".

Let me try again with different terminology:

When specified on an element, hidden="" indicates that the element is not 
yet, or is no longer, relevant. User agents should not render elements 
that have the hidden attribute specified.

> A <style> element inside a @hidden element still affects the 
> presentation of the whole page. SVG patterns, markers and <use> elements 
> that point to elements inside a @hidden element is still rendered right? 
> Form controls are still submitted, and javascript is still run, the 
> effects of this is often visible to the user.

Sure. Those cases would all be abuses of hidden="", but they would indeed 
work as described (with the possible exception of the SVG stuff, I'm not 
sure how they react to display:none, which is what hidden="" maps to).

The point is that hidden="" means the content is irrelevant. The hidden 
attribute must not be used to hide content that could legitimately be 
shown in another presentation. Elements that are not hidden should not 
link to or refer to elements that are hidden.

hidden="" is very definitely _not_ a media-specific "hide from the screen 
users but show it to the AT tool users" feature. It's entire purpose is in 
fact to provide a semantic way to hide things from AT users, so that 
people writing dynamic applications can write accessible apps and do not 
have to rely on CSS to get the irrelevant parts of their app hidden.

Ian Hickson               U+1047E                )\._.,--....,'``.    fL       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Monday, 23 August 2010 22:59:04 UTC