RE: PFWG-ISSUE-702 (The word SHOULD for keyboard support is unclear in the Roles Model spec): The ARIA Roles Model spec states that keyboard support for interactive widgets is optional, not required, which it should be. [ARIA 1.1]

Thanks, I see what you mean.

Part of the confusion to me, as with other developers in the field, is that the word should seems to contradict what is written on the section regarding Managing Focus, which says that managing focus is required for certain role types. However this distinction isn't made in the spec for the same role types.

-----Original Message-----
From: Joseph Scheuhammer [mailto:clown@alum.mit.edu] 
Sent: Friday, February 20, 2015 10:09 AM
To: Bryan Garaventa; Protocols and Formats Working Group
Cc: public-pfwg@w3.org
Subject: Re: PFWG-ISSUE-702 (The word SHOULD for keyboard support is unclear in the Roles Model spec): The ARIA Roles Model spec states that keyboard support for interactive widgets is optional, not required, which it should be. [ARIA 1.1]

Hi Bryen,

Just one comment on your otherwise interesting email.

> PFWG-ISSUE-702 (The word SHOULD for keyboard support is unclear in the 
> Roles Model spec): The ARIA Roles Model spec states that keyboard 
> support for interactive widgets is optional, not required, which it 
> should be. [ARIA 1.1]

The normative terms "SHOULD" and "OPTIONAL" are not synonymous. "SHOULD" 
is stronger.  From the RFC2119 specification [1]:

SHOULD:  This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.

MAY: This word, or the adjective "OPTIONAL", mean that an item is truly optional.  One vendor may choose to include the item because a particular marketplace requires it or because the vendor feels that it enhances the product while another vendor may omit the same item. An implementation which does not include a particular option MUST be prepared to interoperate with another implementation which does include the option, though perhaps with reduced functionality. In the same vein an implementation which does include a particular option MUST be prepared to interoperate with another implementation which does not include the option (except, of course, for the feature the option provides.)

Where the ARIA spec says that "authors SHOULD ...", it is not saying it is optional.  It is saying (paraphrase) that it is required unless there is a good reason not to.  An example of a good reason in the case of keyboard accessibility is that the device does not have a keyboard.  
Another consideration is whether the browser itself supports keyboard access, in which case authors need not supply it.  The implication is that the spec cannot say that authors MUST support keyboard access in all cases.

1.  https://tools.ietf.org/html/rfc2119


--
;;;;joseph.

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

Received on Friday, 20 February 2015 19:20:23 UTC