- From: Richard Schwerdtfeger <schwer@us.ibm.com>
- Date: Wed, 15 Feb 2012 15:59:04 -0600
- To: Joseph Scheuhammer <clown@alum.mit.edu>
- Cc: Janina Sajka <janina@rednote.net>, "wai-xtech@w3.org" <wai-xtech@w3.org>
- Message-ID: <OF68E23928.F5564C18-ON862579A5.00787D3B-862579A5.0078C384@us.ibm.com>
Joseph Scheuhammer <clown@alum.mit.edu> wrote on 02/15/2012 10:25:06 AM: > From: Joseph Scheuhammer <clown@alum.mit.edu> > To: "wai-xtech@w3.org" <wai-xtech@w3.org>, > Cc: Janina Sajka <janina@rednote.net> > Date: 02/15/2012 10:27 AM > Subject: Re: From the HTML-WG about aria-hidden > > Janina asked me to re-post this to the wai-xtech (this) list. To give > context, she had advised the PFWG regarding the HTML-WG's take on > aria-hidden: > > > Subject: > > HTML-ISSUE-204 (aria-hidden): Excempt ARIA attributes from the rule > > that prohibits reference to hidden elements [HTML 5 spec] > > From: > > HTML Weekly Issue Tracker <sysbot+tracker@w3.org> > > Date: > > 12-02-14 7:38 AM > > > > To: > > <public-html-wg-issue-tracking@w3.org> > > > > > > HTML-ISSUE-204 (aria-hidden): Excempt ARIA attributes from the > rule that prohibits reference to hidden elements [HTML 5 spec] > > > > http://www.w3.org/html/wg/tracker/issues/204 > > > > Raised by: Sam Ruby > > On product: HTML 5 spec > > > > This issue was split off of issue-30 and is intended to cover the > change originally proposed in the details section of: > > > > http://www.w3.org/html/wg/wiki/ChangeProposals/DeprecateLongdesc#Details > > > > > > To which I replied: > > This issue was split off of issue-30 and is intended to cover the > > change originally proposed in the details section of: > > > > http://www.w3.org/html/wg/wiki/ChangeProposals/DeprecateLongdesc#Details > > With respect to aria-describedby the above proposes that > aria-describedby trumps aria-hidden, and forces the rendering of the > hidden element. It goes further, and requires that elements hidden via > CSS must be exposed if they are referenced by some aria-* attribute: > I doubt CSS is going to change that any time soon. However, if this goes through it will break a lot of code where the text is *intentionally* hidden where CSS is used to hide content. For example, companies do provide additional help text for form entries and other forms of interactive components to assist in performing a task. This is there to help people with disabilities but the author does NOT want to that help information to be visually exposed such that it clutters up the user interface. > > Note: Implementations are encouraged to follow the recommendation in > > ARIA specification and expose the full semantics of any HTML elements > > linked to by aria attributes. For example if an aria-describedby > > attribute points to a <a> element or a <table> element, then it is > > recommended that implementations expose the full semantics of those > > elements rather than for example just their textual contents. This > > applies even if those elements aren't rendered, for example due to CSS > > This is the opposite of where we landed at yesterday's telecon. We > concluded that CSS hiding and aria-hidden trumps aria-describedby. (The > rationale being that there is no accessible in the a11y tree for the > hidden element, so there is nothing to point to via describedby, and > users cannot navigate to something that isn't rendered). > > Which is correct? The possibilities are: > > 1. If an author uses one element to reference another (e.g., > aria-describedby, aria-owns, etc.), then user agents must ignore any > @hidden, @aria-hidden, css visibility:hidden, and display:none. The a11y > tree exposes both elements, and exposes the relationship between them > (e.g., described-by/description-for). > > 2. If an author uses one element to reference another, but that second > element is "hidden", then the a11y tree does not contain an accessible > for the hidden element, and the relationship is not exposed. > > The UAIG implies (1) in section "5.1.1 Including Elements in the > Accessibility Tree" [1], specifically the last bullet: > > > * Elements that have an ID which is referenced by another element via > > a WAI-ARIA relation (aria-controls, aria-describedby, aria-flowto, > > aria-labelledby or aria-owns) and do not have a role of presentation > > directly or inherited from an owning element. > > Note the escape clause regarding presentation: if the referenced > element has role of presentation, then the element is not included, > regardless of any specified relationship (again, presumably because > presentation elements are not exposed in the tree). Easily fixed to add > another escape with respect to hidden, if we decide that is the way to go. > > Related question: what happens in a tabbed pane where a tab > aria-controls a tab panel, but that panel is currently hidden because > some other tab is selected? (Assumption: CSS display:none is used to > hide all the non-selected tab panels). This is the same issue, but with > a different relationship. Does the relationship possibly shape the > policy? Or does hidden always hide the relationship? My guess is that > if hidden elements are not exposed, then no relationship can exist. > Still, it seems odd for the tab panel case; after all, the controlled > panel still exists; it's just not rendered (i.e, still wrapping my head > around this). > > [1] http://www.w3.org/WAI/PF/aria-implementation/#include_elements > > -- > ;;;;joseph. > > > 'A: After all, it isn't rocket science.' > 'K: Right. It's merely computer science.' > - J. D. Klaun - > >
Received on Wednesday, 15 February 2012 21:59:58 UTC