Comment on ARIA 1.0: Problematic conformance requirement for aria-hidden

Comment on Accessible Rich Internet Applications (WAI-ARIA) 1.0

Comment based on Editor's Draft of 16 April 2012, archived at:

  http://www.webcitation.org/673DWtJcY

ยง6.6 defines a conformance requirement for the "aria-hidden" property:

"Authors MUST set aria-hidden="true" on content that is not displayed,
regardless of the mechanism used to hide it."

This is problematic, because some host languages authors have neither
complete control nor certain knowledge of whether content is
displayed. For example, an author might specify the HTML5 @hidden
attribute, and the user might expose hidden elements using a user
stylesheet. Since user agents know whether or not they are displaying
content, why is this an author requirement rather than a user agent
requirement?

The spec need to define "displayed". Does it mean the same thing as
HTML5's "being rendered"?

   http://dev.w3.org/html5/spec/rendering.html#being-rendered

If so, then this conformance requirement is counter-productive, since
it would require authors to set "aria-hidden" on <canvas> sub-DOM,
eliminating the content from appearing as objects in the accessibility
tree.

The spec also says aria-hidden "Indicates that the element and all of
its descendants are not visible or perceivable to any user as
implemented by the author." Is an element "visible or perceivable" if
it's acting as a backing store for <canvas>? What does the
qualification "as implemented by the author" mean?

One reason to use CSS mechanisms rather than semantic mechanisms like
"hidden" is in order to show content to users who do not apply user
agent styles. Is "as implemented by the author" meant to imply the
application of author style suggestions, in which case aria-hidden
must be applied? Or is it more important that the author is
intentionally not hiding it from all users, in which case aria-hidden
must not be applied?

What if the author provides multiple stylesheets, and elements are
hidden in one stylesheet but visible in another stylesheet?

The spec includes a note that "Note: Authors are reminded that
visibility:hidden and display:none apply to all CSS media types"

This is erroneous. While "display" applies to all media types,
"visibility" only applies to "visual" media types, as stated clearly
in the CSS specification's definition of the property to which ARIA
directly links:

http://www.w3.org/TR/CSS21/visufx.html#visibility

--
Benjamin Hawkes-Lewis

Received on Friday, 27 April 2012 06:45:49 UTC