Re: Moving forward with Issue-204

Hi,

I wrote:

>> The v3 proposal explicitly disallows authors from using structured
>> content in hidden="" elements; the AllowAriaReferHidden imposes no
>> such restriction.
[…]
>> I think there could be compromise language on this issue, which
>> simultaneously encourages (but does not require) UAs to expose the
>> full semantics of hidden="" content to AT, and that requires authors
>> to only use aria-describedby="" to refer to hidden="" content that,
>> when flattened, does not lose essential meaning.

John took a stab at providing such compromise language:

> "Authors SHOULD avoid using hidden elements for longer content that
> has structured text (e.g., headings, anchors, list markup, table
> markup, etc.), as some user-agents/AT will flatten the referenced
> elements to plain text, losing interactivity and semantic structure,
> as noted above in the ARIA API mappings<linked>. If a (scripted)
> mechanism is used to render the hidden content on-screen (on demand)
> so that sighted and non-sighted users can effectively interact with
> the structured content, then authors MAY provide structured content in
> this scenario."

We're definitely making progress here, but I still think this wording
overly restricts what authors are permitted to do. For instance,
consider this markup:

<div id=foo hidden>
<h1>Section 1</h1>
<p>Lorem ipsum
<h1>Section 2</h1>
<p>Lorem ipsum
</div>

I think authors should be able to reference this <div> from WAI-ARIA
attributes like aria-describedby="". It does not lose essential meaning
when flattened.

Here's my attempt at wording this restriction. What do you think?

  User Agents are encouraged to expose the full semantics of hidden
  elements to Assistive Technology when such elements are referenced
  from WAI-ARIA attributes. Because some User Agents flatten hidden
  content when exposing it to Assistive Technology, authors SHOULD NOT
  reference hidden content which would lose essential meaning when
  flattened.

This is definitely not the best possible wording for this restriction,
but I could live with it. Is this the only place in the spec where we
talk about flattening? It's a term many web developers won't be familiar
with; we should probably provide a definition or a reference to one.


Ted

Received on Friday, 29 June 2012 22:25:52 UTC