Last Comment Bug 838407 - aria-hidden false value shouldn't be exposed via object attributes
: aria-hidden false value shouldn't be exposed via object attributes
Status: RESOLVED FIXED
: access
Product: Core
Classification: Components
Component: Disability Access APIs (show other bugs)
: unspecified
: All All
: -- normal (vote)
: mozilla21
Assigned To: alexander :surkov
:
Mentors:
Depends on:
Blocks: aria
  Show dependency treegraph
 
Reported: 2013-02-05 17:33 PST by alexander :surkov
Modified: 2013-03-30 21:22 PDT (History)
2 users (show)
ryanvm: in‑testsuite+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
patch (7.00 KB, patch)
2013-02-08 00:51 PST, alexander :surkov
tbsaunde+mozbugs: review+
Details | Diff | Review

Description alexander :surkov 2013-02-05 17:33:40 PST
aria-hidden:false doesn't have any meaning since it can't be used to show a hidden content, neither not rendered content nor aria-hidden=true content.

1) not visible content:

5.1.1. Excluding Elements from the Accessibility Tree (http://www.w3.org/WAI/PF/aria-implementation/#exclude_elements2):

"Elements, including their descendents, that have host language semantics specifying that the element is not displayed, such as CSS display:none or visibility:hidden or HTML 5 hidden attribute."

That means aria-hidden=false can't be used to show the element having display:none

2) aria-hidden=true content (thanks to Joseph for clarification, citing him):

The UAIG also gives rules for when to exclude elements from the a11y tree in section 5.1.1 (http://www.w3.org/WAI/PF/aria-implementation/#exclude_elements2). Specifically:

• Elements, including their descendents, that have a WAI-ARIA global attribute of |aria-hidden| <http://www.w3.org/WAI/PF/aria/states_and_properties#aria-hidden>|="true".| In other words, |aria-hidden="true"| on a parent overrides |aria-hidden="false"| on descendants.

There was a relatively lengthy discussion about this a while back. The conclusion, in the end, was that aria-hidden mirrors CSS display:none. If you have:

<div style="display:none"> ... stuff ... <div style="display:block">Is this displayed?</div> ... other stuff ... </div>

The "Is this displayed" is *not* displayed. The ancestral display:none style overrules the local display:block style. That is documented in the CSS spec as well:
http://www.w3.org/TR/CSS2/visuren.html#display-prop
Comment 1 alexander :surkov 2013-02-08 00:51:25 PST
Created attachment 711737 [details] [diff] [review]
patch
Comment 2 Ryan VanderMeulen [:RyanVM] 2013-02-10 10:22:08 PST
https://hg.mozilla.org/mozilla-central/rev/ac292e9fc785
Comment 3 alexander :surkov 2013-02-10 17:59:30 PST
(In reply to Ryan VanderMeulen [:RyanVM] from comment #2)
> https://hg.mozilla.org/mozilla-central/rev/ac292e9fc785

this was empty checking, the correct one is http://hg.mozilla.org/integration/mozilla-inbound/rev/80fa2c61df14
Comment 4 Ryan VanderMeulen [:RyanVM] 2013-02-11 11:16:58 PST
https://hg.mozilla.org/mozilla-central/rev/80fa2c61df14

Note You need to log in before you can comment on or make changes to this bug.