- From: Matthew King <mattking@us.ibm.com>
- Date: Wed, 19 Nov 2014 08:54:26 -0800
- To: Joseph Scheuhammer <clown@alum.mit.edu>
- Cc: public-pfwg@w3.org
- Message-ID: <OFEBC8A6A8.3FFD5A97-ON88257D95.00586D66-88257D95.005CDFF8@us.ibm.com>
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