Re: ACTION-1442: Draft spec text for aria-current and aria-currentfor

Hi Matt,

Thanks for the latest text.  I have a couple of comments/questions.

First:
> 1. Clarified that false and undefined can, but do not necessarily, 
>  have the same meaning.

and

> false: The element is not current
> undefined: The element is either not current or can not be made current. 

Values of "false" and "undefined" clearly have different meanings. A 
value of false is simply "it's not current", whereas undefined is the 
disjunct of "it's not current" and "it can't be current".  It would be 
better to take one of two choices here,  Either "undefined" is 
synonymous with "false" or "undefined" means "not current and can't be 
current".

It's important since there should also be a default value specified for 
aria-current.  For the majority of elements on a page, aria-current is 
irrelevant, and won't be added by the author. Technically, aria-current 
is "undefined" for those elements.  They take the default value, meaning ?

I lean towards:  if aria-current is undefined, that means the element is 
not current, i.e. "undefined" == "false".  I can't think of a use case 
where it is desirable to restrict certain elements as being not current 
AND unable to ever become current.  Maybe someone can outline such a use 
case; if so, then "undefined" can be defined as "not current and can't 
ever be current".

Secondly,

> If the aria-current attribute is false or undefined, the aria-current 
> state of an element SHOULD not be conveyed by User Agents ...

I'm not sure what "conveyed by User Agents" means here.  It could be 
interpreted as, "User Agents SHOULD NOT expose values of 'false' or 
'undefined' via the accessibility API".  Is that correct?  If so, that 
does make values of "false" and "undefined" equivalent, at least with 
respect to accessibility APIs.  Could you clarify?

By the way, another difference between @aria-current and @aria-selected 
is that @aria-current is global, whereas @aria-selected is restricted to 
the roles: option, treeitem, gridcell, columnheader, rowheader, row, and 
tab.  Anything could be current, but not everything can be selected.

-- 
;;;;joseph.

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

Received on Wednesday, 19 November 2014 16:02:50 UTC