W3C home > Mailing lists > Public > w3c-wai-ig@w3.org > July to September 2014

RE: Using ARIA role=heading without aria-level to improve user experience

From: Bryan Garaventa <bryan.garaventa@whatsock.com>
Date: Thu, 14 Aug 2014 11:16:37 -0700
To: "'Druckman,Geri'" <GDruckman@mdanderson.org>
Cc: <w3c-wai-ig@w3.org>
Message-ID: <000e01cfb7eb$e595a1a0$b0c0e4e0$@whatsock.com>
Thanks, I use the same technique at
Where all of the toggle buttons are ARIA Headings within the DT containers
to ensure the correct level structure.


<dt role="heading" aria-level="3">
<a class="button blue" id="tgl-2-1" role="button" aria-pressed="false"

My only concern is that there should be no instances where only "heading" is
announced for AT users, since this won't convey the nesting level,
implicitly set or otherwise.

-----Original Message-----
From: Druckman,Geri [mailto:GDruckman@mdanderson.org] 
Sent: Thursday, August 14, 2014 8:10 AM
To: Bryan Garaventa
Cc: w3c-wai-ig@w3.org
Subject: Re: Using ARIA role=heading without aria-level to improve user

Hey Bryan,

In the past I came across some incidents in which I needed a header in
place, but couldnąt really use the <h> tag, instead I used ARIA and it
worked seamlessly in JAWS, NVDA and VoiceOver.

For example: <span role="heading" aria-level="2˛>This text will be read and
identified as a level 2 header</span>, just the same as if it was enveloped
within <h2>Đ</h2>.  You can use it in a <div> or <span> and it validates

Geri Druckman
Web Development Specialist - Accessibility Department of Internet Services
MD Anderson Cancer Center T 713-792-6293 | F 713-745-8134

On 8/14/14, 9:27 AM, "Sailesh Panchang" <sailesh.panchang@deque.com> wrote:

>Hello Bryan,
>Please see ARIA12 including example #1 and its wording 
>And the code validates successfully too.
>The specs for aria-level say:
>If the DOM ancestry accurately represents the level, the user agent can 
>calculate the level of an item from the document structure. This 
>attribute can be used to provide an explicit indication of the level 
>when that is not possible to calculate from the document structure or 
>the aria-owns ...
>So aria-level is not mandatory when role=heading is used.
>As noted in the explanation for the illustration (on 
>http://www.deque.com/blog/accessible-html-heading-markup/), even 
>without aria-level the text is exposed explicitly as a heading to SR 
>users. Sure it will help users if it is more explicit.
>And the point of the article is that in some situations one can pass SC 
>1.3.1 and SC 2.4.10 without explicit heading markup. I have seen many 
>pages (privacy / security terms or terms to be agreed to before 
>continuing sign up, etc.) where there are text labels that serve as 
>headings but are not styled distinctively. The UI designers / content 
>authors refuse to change appearance of these "headings" or are unable 
>to mark them up as h<n> and style them.
>On 8/13/14, Bryan Garaventa <bryan.garaventa@whatsock.com> wrote:
>> Is a heading without a level really a valid heading though?
>> For instance, <h> doesn't exist </h>
>> There would be no way to convey structural nesting.
>> I think it would be a mistake to allow this using ARIA role='heading'.
>> -----Original Message-----
>> From: Sailesh Panchang [mailto:sailesh.panchang@deque.com]
>> Sent: Wednesday, August 13, 2014 6:22 AM
>> To: w3c-wai-ig@w3.org
>> Subject: Using ARIA role=heading without aria-level to improve user 
>> experience
>> FYI "Accessible HTML Heading Markup"
>> http://www.deque.com/blog/accessible-html-heading-markup/
>> Thanks,
>> Sailesh Panchang
Received on Thursday, 14 August 2014 18:17:57 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 13 October 2015 16:21:52 UTC