W3C home > Mailing lists > Public > public-aria@w3.org > August 2017

RE: ARIA and HTML document question about implicit headings

From: Schnabel, Stefan <stefan.schnabel@sap.com>
Date: Tue, 15 Aug 2017 11:43:58 +0000
To: Steve Faulkner <faulkner.steve@gmail.com>
CC: Aaron Leventhal <aleventhal@google.com>, Bryan Garaventa <bryan.garaventa@levelaccess.com>, ARIA Working Group <public-aria@w3.org>
Message-ID: <2b51ef9c5cba428ca32f72e0c8c22872@sap.com>
Hi Steve,

<input readonly="readonly" aria-readonly="false"/> also passes Nu Validator https://validator.w3.org/nu/


Nu Validator for <button role="textbox">: Error: Bad value textbox for attribute role on element button.

Seems to be rated with good reason as conformance error in HTML5.

The caveat is; If we see role="textbox" as an invalid role attribute *value* for a <button> we have two different animals:
Attribute values that *pass* Nu validator rules and map to attribute properties in the OS Accessibility API (although contradicting to base markup attribute values), and those that don’t pass since they are mapped to roles of OS Accessibility API and are therefore treated as roles and not properties.

A bit confusing, but manageable if concept behind is clear. Maybe there are other problematic combinations yet to find.


-          Stefan





From: Steve Faulkner [mailto:faulkner.steve@gmail.com]
Sent: Dienstag, 15. August 2017 13:04
To: Schnabel, Stefan <stefan.schnabel@sap.com>
Cc: Aaron Leventhal <aleventhal@google.com>; Bryan Garaventa <bryan.garaventa@levelaccess.com>; ARIA Working Group <public-aria@w3.org>
Subject: Re: ARIA and HTML document question about implicit headings

  <h1 aria-level="3"> Test </h1>

Is not a conformance error in HTML5

On Tuesday, 15 August 2017, Schnabel, Stefan <stefan.schnabel@sap.com<mailto:stefan.schnabel@sap.com>> wrote:
So we have to live with the situation that validators will potentially flame
<h1 aria-level="3"> Test </h1>
but in reality it works since AT/UA is resolving it in the sense “ARIA wins”.

<button role=”textbox” ..>

goes in the same ambiguous direction.

Although this is hypothetical and code above can be seen always as “authoring error” by authoring tools - how will this be resolved in the future?
Is it safe to rely on the AT override behaviour in the long run? I don’t think so.


-          Stefan

From: Aaron Leventhal [mailto:aleventhal@google.com<javascript:_e(%7B%7D,'cvml','aleventhal@google.com');>]
Sent: Montag, 14. August 2017 21:16
To: Bryan Garaventa <bryan.garaventa@levelaccess.com<javascript:_e(%7B%7D,'cvml','bryan.garaventa@levelaccess.com');>>; ARIA Working Group <public-aria@w3.org<javascript:_e(%7B%7D,'cvml','public-aria@w3.org');>>
Subject: Re: ARIA and HTML document question about implicit headings

Implementations don't try to do that much verification of markup validity -- that's mostly left to authoring tools.

Aaron

On Mon, Aug 14, 2017 at 2:25 PM Bryan Garaventa <bryan.garaventa@levelaccess.com<javascript:_e(%7B%7D,'cvml','bryan.garaventa@levelaccess.com');>> wrote:
I thought this only affected the mappings. For example a heading can have only one level in the accessibility tree, so only one would be announced regardless.

I just verified this using the following markup.

<h1 aria-level="3"> Test </h1>

All of the screen readers JAWS, NVDA, and iOS VoiceOver announce this as an H3 heading in Firefox, Chrome, and Safari.

Bryan Garaventa
Accessibility Fellow
Level Access, Inc.
Bryan.Garaventa@LevelAccess.com<javascript:_e(%7B%7D,'cvml','Bryan.Garaventa@LevelAccess.com');>
415.624.2709<tel:(415)%20624-2709> (o)
www.LevelAccess.com<http://www.LevelAccess.com>

From: Aaron Leventhal [mailto:aleventhal@google.com<javascript:_e(%7B%7D,'cvml','aleventhal@google.com');>]
Sent: Monday, August 14, 2017 11:05 AM
To: Bryan Garaventa <bryan.garaventa@levelaccess.com<javascript:_e(%7B%7D,'cvml','bryan.garaventa@levelaccess.com');>>; ARIA Working Group <public-aria@w3.org<javascript:_e(%7B%7D,'cvml','public-aria@w3.org');>>
Subject: Re: ARIA and HTML document question about implicit headings

Hi Bryan, I think can answer this one.

The <h1> etc. elements already have a level, so aria-level would be a direct conflict. Why say the level twice?

However, a button (native or ARIA) has no way to say whether it's pressed, or pressable, or has a popup, without the aria-pressed/aria-haspopup attributes.

Aaron

On Mon, Aug 14, 2017 at 12:49 PM Bryan Garaventa <bryan.garaventa@levelaccess.com<javascript:_e(%7B%7D,'cvml','bryan.garaventa@levelaccess.com');>> wrote:
Hi,
I noticed recently that according to the ARIA and HTML mapping tables, the use of aria-level is said to not be allowed on H1 through H6 elements, even though these implicitly map to role="heading".

Since supporting attributes like aria-pressed and aria-haspopup are accepted on other implicit elements like role="button", amongst other implicit role and attribute combinations, why is this one different?

Bryan Garaventa
Accessibility Fellow
Level Access, Inc.
Bryan.Garaventa@LevelAccess.com<javascript:_e(%7B%7D,'cvml','Bryan.Garaventa@LevelAccess.com');>
415.624.2709<tel:(415)%20624-2709> (o)
www.LevelAccess.com<http://www.LevelAccess.com>


--
--

Regards

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

Received on Tuesday, 15 August 2017 11:44:23 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 15 August 2017 11:44:23 UTC