Bug 18574 - @hidden should have a weak mapping to aria-hidden=true
@hidden should have a weak mapping to aria-hidden=true
Status: RESOLVED FIXED
Product: HTML WG
Classification: Unclassified
Component: HTML5 spec
unspecified
PC All
: P3 normal
: ---
Assigned To: steve faulkner
HTML WG Bugzilla archive list
http://dev.w3.org/html5/spec/wai-aria...
: a11y, aria, CR
Depends on: 19277
Blocks: 23371
  Show dependency treegraph
 
Reported: 2012-08-15 11:58 UTC by Leif Halvard Silli
Modified: 2014-01-16 15:11 UTC (History)
15 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Leif Halvard Silli 2012-08-15 11:58:39 UTC
Disambiguate @hidden from @aria-hidden=true. @hidden is currently  listed in HTML5's strong ARIA mappings table. It should rather be in the ha weak mapping table.[0]

The strong mapping table currently says about the hidden attribute that: [1] 

1. "The Strong native semantics and default implied ARIA semantics"
2.  for an "Element with a hidden attribute"
3.  is "The aria-hidden state set to "true".

Similarly, the table says about the empty alt attribute:

1. "The Strong native semantics and default implied ARIA semantics"
2. for an "img element whose alt attribute's value is empty"
2. is "presentation role"

Now: We know that the empty alt attribute causes screenreaders to interpret the image as presentational in a very literal sense. [2]  Hence, one could expect that @hidden as well would be mapped to its correspoding aria attribute quite literally. 

However, as of yet, no such correspondence is documented - @hidden does seemingly not map whether to A11Y APIs or to WAI-ARIA. [3]  And if @hidden had been a direct synonym for @aria-hidden=true in the same way that the empty alt="" is a synonym for role=presentation, then one would have expected the following paragraph to be  _hidden_ from AT:

   <p hidden style="display:block">Lorem ipsum

However, no ATs hide the above paragraph from users. Because it turns out that there are currently no difference, to ATs, between @style="display:none" and @hidden.

In addition, the issue of ISSUE 204, is about allowing ATs to "jump around" inside a section that that has been hidden with the @hidden attribute.  So what if that section - or a nested section inside that section - has aria-hidden=true? Would AT then see it? Example:

   <p hidden style="display:block" aria-hidden="true" id=D >Lorem ipsum

Currently, at least, thy would not see the above. And for that reason, one should assume that if @aria-describedby="D" pointed to the above example, then ATs would not perceive it as a "rich" description - but would rather read it as a "flattened" description. (This _could_ be a feature in itself, e.g. if the author wants to make sure that the section is flattened to all AT suers.)

The weak ARIA mapping table is for  semantivs that can be overridden: "Some HTML elements have native semantics that can be overridden". And I think that current status - and the outcome of ISSUE-204, indicates that the weeak table is more correct.

[0] http://dev.w3.org/html5/spec/wai-aria.html#table-aria-weak
[1] http://dev.w3.org/html5/spec/wai-aria.html#table-aria-strong
[2] http://dvcs.w3.org/hg/html-api-map/raw-file/default/Overview.html#el-59
[3] http://dvcs.w3.org/hg/html-api-map/raw-file/default/Overview.html#att-22
Comment 1 Edward O'Connor 2012-10-17 23:01:06 UTC
Blocked on bug 19277.
Comment 2 James Craig 2013-11-14 08:38:27 UTC
Agree this should be in the Weak table. Currently WebKit is the only UA that correctly implements, which is unfortunately and explicitly disallowed by keeping this in the Strong table.

<div hidden aria-hidden="false">
  <p>exposed to accessibility API, but not rendered visually</p>
</div>
Comment 3 github bugzilla bot 2013-11-14 09:52:25 UTC
Commit pushed to master at https://github.com/w3c/html

https://github.com/w3c/html/commit/450185e45fde0f23d00b5d97ad500d5fdc50b76b
fix hidden/aria-hidden

see bug 18574
Comment 4 steve faulkner 2013-11-14 09:56:45 UTC
I have made a change to the spec:

removed hidden from strong native semantics table (should have been removed previously anyway so was a bug.

Changed hidden in weak mapping table to allow both aria-hidden true/false to be set by an author on an element with a hidden attribute. if this resolves the issue please indicate and I will close bug

https://github.com/w3c/html/commit/450185e45fde0f23d00b5d97ad500d5fdc50b76b

Note: this change will not appear in spec until build script has been fixed (currently stuck on editors draft 7 november)
Comment 5 Rich Schwerdtfeger 2013-11-15 14:48:21 UTC
Good. Thanks Steve.
Comment 6 James Craig 2013-11-15 16:09:58 UTC
Thanks Steve
Comment 7 alexander surkov 2013-12-05 15:59:49 UTC
aria-hidden="false" on @hidden element got some discussion at Mozilla bug https://bugzilla.mozilla.org/show_bug.cgi?id=945194. I've got a feeling the proposed feature is not clear enough for implementation, agreed and moreover it contradicts to ARIA implementation guide. I tried to summarize all it here https://bugzilla.mozilla.org/show_bug.cgi?id=945194#c52.

I would be happier if the added wording will be backed out, at least until the dust settles down and the feature gets agreed, perhaps implemented and approbated by interested parties (WebKit?). Otherwise the spec puts disputable features into the law and that makes me worry.
Comment 8 steve faulkner 2013-12-05 16:18:47 UTC
(In reply to alexander surkov from comment #7)
> aria-hidden="false" on @hidden element got some discussion at Mozilla bug
> https://bugzilla.mozilla.org/show_bug.cgi?id=945194. I've got a feeling the
> proposed feature is not clear enough for implementation, agreed and moreover
> it contradicts to ARIA implementation guide. I tried to summarize all it
> here https://bugzilla.mozilla.org/show_bug.cgi?id=945194#c52.
> 
> I would be happier if the added wording will be backed out, at least until
> the dust settles down and the feature gets agreed, perhaps implemented and
> approbated by interested parties (WebKit?). Otherwise the spec puts
> disputable features into the law and that makes me worry.

thanks Alex, one note, it's currently only in the spec for review (such as what has been occurring) and not 'into law'. the bug has not yet been resolved. If the bug gets resolved and any WG member feels it needs to be revisited, they can escalate the issue to the full HTML Working Group,For more details, see this document:
http://dev.w3.org/html5/decision-policy/decision-policy.html
Comment 9 alexander surkov 2013-12-05 16:26:14 UTC
Ok, good to know, thanks, Steve.
Comment 10 alexander surkov 2014-01-13 16:49:52 UTC
(some summary I need to make after w3c call) so I'm more or less ok with aria-hidden="false" as an approach to create an alternative content to assistive technology users. I don't really have strong opinion on this particular bug (i.e. whether aria-hidden="false" should override HTML5 @hidden) but I can live with any outcome, I would delegate the issue to people who knows HTML5 presumably better than me. In that light it would be great to have WHATWG aboard, in particular, because Ian expressed a different opinion (https://bugzilla.mozilla.org/show_bug.cgi?id=945194#c46).
Comment 11 steve faulkner 2014-01-13 17:09:24 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are
satisfied with this response, please change the state of this bug to CLOSED. If
you have additional information and would like the Editor to reconsider, please
reopen this bug. If you would like to escalate the issue to the full HTML
Working Group, please add the TrackerRequest keyword to this bug, and suggest
title and text for the Tracker Issue; or you may create a Tracker Issue
yourself, if you are able to do so. For more details, see this document:

   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Accepted
Change Description: see Comment 4
Rationale: agreed with initial comment and subsequent discussion on ARIA call http://lists.w3.org/Archives/Public/public-pfwg/2014Jan/0008.html
Comment 12 steve faulkner 2014-01-13 17:13:09 UTC

(In reply to alexander surkov from comment #10)
> (some summary I need to make after w3c call) so I'm more or less ok with
> aria-hidden="false" as an approach to create an alternative content to
> assistive technology users. I don't really have strong opinion on this
> particular bug (i.e. whether aria-hidden="false" should override HTML5
> @hidden) but I can live with any outcome, I would delegate the issue to
> people who knows HTML5 presumably better than me. In that light it would be
> great to have WHATWG aboard, in particular, because Ian expressed a
> different opinion (https://bugzilla.mozilla.org/show_bug.cgi?id=945194#c46).

Hi Alex, agree it would be good to have full agreement. Note as per Comment 11

"If
you have additional information and would like the Editor to reconsider, please
reopen this bug. If you would like to escalate the issue to the full HTML
Working Group, please add the TrackerRequest keyword to this bug, and suggest
title and text for the Tracker Issue; or you may create a Tracker Issue
yourself, if you are able to do so. For more details, see this document:

   http://dev.w3.org/html5/decision-policy/decision-policy.html"

Like you, Ian is a member of the HTML WG and is free to re-open with new information or raise an issue in the WG.
Comment 13 github bugzilla bot 2014-01-16 15:11:38 UTC
Commit pushed to CR at https://github.com/w3c/html

https://github.com/w3c/html/commit/450185e45fde0f23d00b5d97ad500d5fdc50b76b
fix hidden/aria-hidden