Re: Seeking clarification for "undefined" as a literal value

Aaron, 

The spec. clearly states that (see aria-checked) that “undefined” is the (default). If nothing is specified that is what is assumed the value is. If the author has not set aria-checked on the role that supports the aria-checked states then the default is undefined. When it says default it is very clear. Had default not been indicated then I agree there would be confusion. 

So, “undefined” is a valid value. … so is leaving the attribute off altogether. 

In aria 1.0 here is a test example for aria-grabbed being set to “undefined” from the Candidate Recommendation test harness: 

https://dvcs.w3.org/hg/pfwg/raw-file/default/ARIA/1.0/tests/test-files/roles-properties-global/roles-properties-global-main-aria-grabbed-undefined.html <https://dvcs.w3.org/hg/pfwg/raw-file/default/ARIA/1.0/tests/test-files/roles-properties-global/roles-properties-global-main-aria-grabbed-undefined.html>

This passed candidate recommendation and therefor we had working implementations.

The important thing to remember is the default value. So, programmers can leave it off altogether. 

Rich 


Rich Schwerdtfeger




> On Jun 29, 2017, at 1:32 PM, Aaron Leventhal <aleventhal@google.com> wrote:
> 
> As I understand ARIA, a possible value of "undefined" means the attribute is not present. If undefined is also the default, then a value of "" is equivalent. However, I would not expect a user agent to process the literal string "undefined" as undefined.
> 
> Was there an expectation somewhere that the literal string "undefined" should be treated as attribute not present? 
> 
> I feel that the ARIA 1.1 spec could be more clear here:
> 'The "undefined" value, when allowed on a state or property, is an explicit indication that the state or property is not set. The value is used on states and properties that support tokens, and the "undefined" value is a string that is one of the allowed tokens. It is also used on some states and properties that accept true/false values, when "undefined" has a different meaning than "false".'
> 
> Perhaps when undefined is discussed it should not be put in quotes -- to programmers this means literal string. Mostly, CORE-AAM does this, but it does have one place under disallowed values that discusses "undefined" as a literal string. It does not, however, discuss the "undefined" literal as an allowed value.
> 
> Can someone provide more clarity for our implementation? I'd like to see more clarity in both specs.
> 
> Thank you,
> 
> - Aaron
> 
> 
> 
> 

Received on Thursday, 29 June 2017 17:48:16 UTC