W3C home > Mailing lists > Public > w3c-wai-ig@w3.org > April to June 2018

RE: Why are conflicts between native markup semantics and WAI-ARIA so complicated?

From: Jan Hellbusch <jan@hellbusch.de>
Date: Wed, 2 May 2018 10:04:01 +0200
To: "'WAI IG'" <w3c-wai-ig@w3.org>
Message-ID: <001c01d3e1ec$21b2be10$65183a30$@hellbusch.de>
Hi Tobias,
> I always assumed that WAI-ARIA will always override native semantics.
> But now I found <https://protect-
> au.mimecast.com/s/NJ9ICXLKZoim18NAt6d9eS?domain=w3.org>.

ARIA overrides Information on it's way from the DOM to the accessibility tree. So

> Some examples:
> - `<div role="button"></div>` has role "button" (ARIA wins)
> - `<div aria-label="foo">bar</div>` has label "foo" (ARIA wins)

In these two cases ARIA is being used to override information. I'm not sure if the second example will work, though. Changing the name of an element will work with most interactive elements and some other elements, but not necessarily with all.

> - `<div aria-hidden="false" hidden></div>` is hidden (native wins)

Actually, this code is doing something different: "Hide something from the accessibility tree (aria-hidden="true"), although it is already hidden ("hidden" hides it from screen and the accessibility tree). Since the hidden property is already doing what aria-hidden="true" is intended to do, aria-hidden="true" is not needed. See also test cases at


Hellbusch Accessibility Consulting
Chemnitzer Str. 50, 44139 Dortmund
Tel.: +49 (231) 58054815 Mobil: +49 (163) 3369925
Accessibility-Consulting seit 15 Jahren 
Leistungen, B├╝cher, Artikel: https://www.barrierefreies-webdesign.de
Blog: https://www.hellbusch.de
Received on Wednesday, 2 May 2018 08:04:31 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:37:17 UTC