Re: Question regarding role=directory, the usage and purpose is unclear

Hi Bryan,

On 2015-04-17 2:07 PM, Bryan Garaventa wrote:

> The problem I'm seeing with the spec text, is that it's not clear where this role is supposed to be applied, nor if there needs to be specific child elements.
>
> E.G From the spec text, it seems to imply that the following is valid ...

I don't think it implies that, since the spec text states that the role 
categorizes a directory as "a *list* of references" (my emphasis).   
And, as you noted, the superclass role for "directory" is "list".  
Therefore, a directory is a list.

The required children of a plain list are listitems or groups of 
listitems [1].  By implication, a directory requires groups of listitems 
or listitems as children.  I suggest copying that requirement from the 
list role's characteristics table to the one for the directory role, in 
order to make the requirement clearer.

With respect to your example, the <div role="directory"> contains a text 
input field, a paragraph, and then a list.  The sequence is not a list 
and it's not valid aria markup.

> Would this be valid in the accessibility tree?

Unlikely :-)   Without looking, I suspect browsers don't do any 
checking, and expose the <div> as a directory list, with a text entry, a 
paragraph, and a list as its children.  That's not a valid list at the 
level of the accessibility tree either.

> For me, from what I can see in the accessibility tree, the use of role=directory and not having any role at all on a UL reports the same role and assigned label via aria-label regardless, so it appears to have no effect ...

As I noted earlier, the information that it is a specialized kind of 
list is available in the accessibility API.  Mind, I looked only at what 
FF and Safari exposed.

Hope that helps.

[1] http://w3c.github.io/aria/aria/aria.html#list

-- 
;;;;joseph.

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

Received on Monday, 20 April 2015 17:21:34 UTC