RE: accessible name calculation for hidden labels

Actually, taking a closer look in Chrome, it doesn't work right there either, reporting 

"My name is Bryan Eli the weird. Where in are my marbles?"

So it seems the recursion algorithm doesn't work right there either.

-----Original Message-----
From: Bryan Garaventa 
Sent: Tuesday, September 22, 2015 9:53 AM
To: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>; Joseph Scheuhammer <clown@alum.mit.edu>; Steve Faulkner <faulkner.steve@gmail.com>; W3C WAI Protocols & Formats <public-pfwg@w3.org>
Subject: RE: accessible name calculation for hidden labels

One clarification, the class="hidden" within the markup refers to the stylesheet class in the header containing display:none.

-----Original Message-----
From: Bryan Garaventa [mailto:bryan.garaventa@ssbbartgroup.com]
Sent: Tuesday, September 22, 2015 9:10 AM
To: Joseph Scheuhammer <clown@alum.mit.edu>; Steve Faulkner <faulkner.steve@gmail.com>; W3C WAI Protocols & Formats <public-pfwg@w3.org>
Subject: RE: accessible name calculation for hidden labels

While working on the naming algorithm used in Visual ARIA, I tested the following structure, which I made as deliberately complicated as possible, also by changing attributes around to see what happened, like adding an 'alt' to the img instead or in addition to the 'title', and so on.

At any rate, the following markup, according to my calculations should match the following string:

"My name is Bryan Eli the weird. Where are my marbles?"

<div role="link" tabindex="0">
<!-- Comment text -->
<span aria-hidden="true"><i> Hello, </i></span> <span>My</span>name is <img src="file.jpg" title="Bryan" alt="" role="presentation" /> <span role="presentation" aria-label="Eli"><span aria-label="Garaventa">Zambino</span></span>
<span>the weird.</span>
<span class="hidden"><i><b>and don't you forget it.</b></i></span> <table><tr> <td> Where </td> <td style="visibility:hidden;"> <div> in </div> </td> <td> <div style="display:none;"> the world </div> </td> <td> are my marbles?
</td>
</tr></table>
</div>

Currently I only see this working in the Accessibility Tree in Chrome.

-----Original Message-----
From: Joseph Scheuhammer [mailto:clown@alum.mit.edu]
Sent: Tuesday, September 22, 2015 8:51 AM
To: Steve Faulkner <faulkner.steve@gmail.com>; W3C WAI Protocols & Formats <public-pfwg@w3.org>
Subject: Re: accessible name calculation for hidden labels

Hi Steve,

> It is unclear to me, from reading the accname spec [1] whether the 
> following markup  examples should result in an accessible name for a 
> control

The only step that deals with hidden is step 2A [1]:

"If the current node is hidden and is not referenced by aria-labelledby or aria-describedby, nor referenced by a native host language text alternative element or attribute, return the empty string. "

Given your examples, the "current node" is the <label> element.  It's not referenced by aria-labelledby, nor aria-describedy, nor any other element.  Assuming it is hidden [2], then the empty string is returned
-- the <label> is not used in the calculation.

However, it could be argued that there is an implicit labelledby reference from the <input> back to the <label>.  The algorithm does not currently deal with implicit relationships. Maybe it should, but I am uncertain.

My uncertainty is I can't tell what should the accessible name is meant to be in your examples.  An author has explicitly added a <label> element to the markup.  That suggests the label text is to be used as the name of the <input>.  But, then they hide it, suggesting the author wants the <input> to not have any name.  What is the author's goal here?

[1] http://w3c.github.io/aria/accname-aam/accname-aam.html#step2A

[2] http://w3c.github.io/aria/accname-aam/accname-aam.html#dfn-hidden


--
;;;;joseph.

'Array(16).join("wat" - 1) + " Batman!"'
            - G. Bernhardt -

Received on Tuesday, 22 September 2015 17:08:53 UTC