RE: aria-level a required property for role="heading" or a supported property with an RFC SHOULD for authors

As one of the people on the call debating against making this (binary) mandatory, I think some clarification is in order.

 

First, this discussion (to me) is also framed under the context of RFC 2119, which defines the terms MUST, SHOULD, MAY, and questions which of these three terms should be appropriately applied here.



There is NO argument that the aria-level attribute is a SHOULD requirement, for all of the reasons listed by others. But is it a MUST candidate?

 

There are credible and real-world examples of when an author may not know what the heading level would be - the example being an embedded 3rd-party ‘web app’ where the app’s author has no idea what level their embedded app’s principle heading level should be, because they don’t know where it will end up. (James Nurthen noted this very problem as a real-world problem he has encountered)

 

As Brian Garaventa notes, there is currently no means or method of correcting poor or false heading level information, and so starting my embeddable widget with an h1 or h2 may in fact be just as disruptive to the overall “tree-view” or hierarchal representation of the document. I noted on the call that this is in some ways similar to the perennial question of “How many h1’s are allowed on a page?” What if a page aggregator included four 3rd party apps that all started their widget with h1? Good? Bad? Not critical? Total fail? (Put 5 experts in the room, chances are you’ll end up with multiple possible answers…)

 

Headings in documents supply 2 pieces of information: the fact that it is a heading, and the hierarchal level it represents or conveys. In cases like the above, the heading level could be inferred by its container (Rich noted the value of HTML5 landmark elements or aria-landmarks), and simply noting that the landmarked-noted regions starts with a heading is useful and accurate, if not complete, information (as opposed to supplied but inaccurate heading level notification)

 

RFC 2119 defines SHOULD this way:  

SHOULD   This word, or the adjective "RECOMMENDED", mean that there

   may exist valid reasons in particular circumstances to ignore a

   particular item, but the full implications must be understood and

   carefully weighed before choosing a different course.

 

(emphasis mine. source: https://www.ietf.org/rfc/rfc2119.txt)

 

…and so to be clear, I am not advocating “lazy coding” or making aria-level “optional”, I am simply advocating for it to be viewed as a SHOULD requirement: in mechanical validation tools it would throw a warning, but not a failure – evaluation criteria and patterns we have elsewhere across the eco-system. 

 

In screen readers today it will announce the fact that there is a heading (and based on some very quick testing during the call) either note it as a ‘default’ h2, or not specify the hierarchal level at all* (which I would suggest is the better behavior – don’t guess, be factual). I would further suggest that <foo role=”heading”> would still show up in the DOM (un-enumerated) and would still be available for things like heading navigation (e.g. NVDA’s H / Headings Quick Key implementation), where the heading would be announced in tab order, but without the heading level being provided.

 

Meanwhile, in those situations where a developer is creating a 3rd party ‘app’, knowing ahead of time that it will be embedded into a larger document, and unaware of what the ‘default’ heading level should be, can, under the definition of RFC 2119 SHOULD, omit the heading level, after “understanding the full implications and carefully weighing the options” before choosing that course of action.

 

This is a very nuanced, but accurate distinction IMHO. (It was also noted that sometimes, when a developer is unsure what the heading level would be, that they might choose to not supply *any* heading information at all, for fear of it being wrong – this is a legitimate problem too)

 

JF

 

(*ad hoc test results supplied verbally by Leonie Watson during the call)

 

 

From: Steve Faulkner [mailto:faulkner.steve@gmail.com] 
Sent: Thursday, June 18, 2015 12:32 PM
To: Richard Schwerdtfeger
Cc: WAI Protocols & Formats
Subject: Re: aria-level a required property for role="heading" or a supported property with an RFC SHOULD for authors

 

>We would like list feedback as to whether this should required or rather have an RFC 2119 SHOULD for its use as a supported property in role "heading".  

+1 to aria-level being a required property, not requiring does not lead to a better outcome as it  allows the use of  headings without levels removing all notion of heading heirarchy.




--

Regards

SteveF

Current Standards Work @W3C <http://www.paciellogroup.com/blog/2015/03/current-standards-work-at-w3c/> 

 

On 18 June 2015 at 18:26, Richard Schwerdtfeger <schwer@us.ibm.com <mailto:schwer@us.ibm.com> > wrote:

The ARIA task force had issue that pertained to making aria-level a required property vs. a supported property for role="heading". 

We would like list feedback as to whether this should required or rather have an RFC 2119 SHOULD for its use as a supported property in role "heading".  

Please see the minutes of the discussion: http://www.w3.org/2015/06/18-aria-minutes.html


Rich Schwerdtfeger

 

Received on Thursday, 18 June 2015 20:37:34 UTC