Drop the requirement that host languages must allow a token list as the value of the role attribute

PF Working Group, please handle this as a formal comment on specification
requirements and implementation of the Candidate Recommendation of WAI-ARIA
1.0 at http://www.w3.org/TR/wai-aria/

Comment: 
Please drop the requirement in the ARIA spec that host languages must allow
a token list as the value of the role attribute.

The ARIA spec should instead make it a document-conformance (authoring)
error for a role value to have multiple tokens. Or at the very least the
spec should allow host languages to make it a document-conformance error.

Details/rationale:
The ARIA specification does not identify any valid use cases for role
values that contain multiple tokens, nor do any of the examples in the ARIA
spec contain role values with multiple tokens, nor do any of the examples
in other ARIA-related W3C documents.

What possible valid use case actually exists for a document to have a role
attribute that contains multiple tokens? Why would an author ever
intentionally (non-accidentally) use a role attribute with multiple tokens?

If there's no good reason for an author to ever intentionally use a role
value with multiple tokens, rather than doing it accidentally, then the
ARIA spec should make it a document-conformance error to do so.

Also, speaking as an implementor of an HTML+ARIA validator, I can tell you
that it's not practical to implement support in the validator for doing
HTML+ARIA validation if role values are allowed to contain multiple tokens
and the validator is expected to process them.

To be specific: Given the complexities of the other requirements defined in
the ARIA specification for the use of the role attribute, if the role value
is also -- on to top of all the other complexities -- allowed to have
multiple tokens, the only practical way to implement validation support for
checking the role attribute and usefully reporting errors is to write all
of the ARIA validation support in custom code (e.g., in Java, for the case
of the W3C validator) rather than being able to express most of it using a
grammar/schema (e.g., a RelaxNG grammar, for the case of the W3C validator).

Adding support for validating role values that can contain multiple tokens
would probably require at least an order of magnitude more time and work to
implement than what was needed to implement the existing ARIA support that
we currently have in the validator. And that existing ARIA support in the
validator has already by far required more time and work to implement than
any other language feature that's supported in the validator.

So again, speaking as a (validator) implementor: Given that I can't see any
value at all to authors in allowing conformant documents to contain role
attributes with multiple tokens, and only a massive implementation cost to
supporting it in the validator -- with no clear benefit -- I want to set
the expectations of the working group clearly: Support for multiple tokens
in role attributes is not going to be implemented in the W3C validator.

I think the ARIA spec could still require that conforming *user agents*
must process role values that contain multiple tokens. That's fine and I
don't think it's impractical for any user agent to implement. But from that
it doesn't necessarily follow at all that conforming *documents* should be
able to contain role attributes with multiple tokens.

  --Mike

-- 
Michael[tm] Smith http://people.w3.org/mike

Received on Tuesday, 20 August 2013 07:21:15 UTC