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

Joseph,

I believe aria-current is an attribute where false and undefined are 100% 
equivalent. The fact that some elements on the page could never be made 
current and others could be but are not, is completely useless 
information. The only thing that matters is whether a specific element has 
the state of current. I wish we could support the html5 attribute style 
that does not require specification of a value like:

<a href="...." aria-current>My link</a>

But, even if it can be written that way, we still need clear definition of 
the implied true state.

So, what is the best way to write the text so the undefine/false 
equivalency is clear?

BTW, I didn't think a note to call out the global vs non-global difference 
with selected was needed. But, if others think it would be helpful, I am 
fine with adding one.

Matt King
IBM Senior Technical Staff Member
I/T Chief Accessibility Strategist
IBM BT/CIO - Global Workforce and Web Process Enablement 
Phone: (503) 578-2329, Tie line: 731-7398
mattking@us.ibm.com



From:   Joseph Scheuhammer <clown@alum.mit.edu>
To:     Matthew King/Fishkill/IBM@IBMUS, public-pfwg@w3.org, 
Date:   11/19/2014 08:03 AM
Subject:        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:55:12 UTC