Last Call comments on WAI-ARIA 1.0

What follows are comments on a few parts of
http://www.w3.org/TR/2009/WD-wai-aria-20090224/ .  Sorry for missing
the last call deadline; I only heard about the last call when the
CSS group was asked to review the document last Wednesday (April 1).
(These comments, however, are my own.  I'm just saying how I heard
about the last call.)


1.1. Scope says:
  # The goals of this specification include:
  #  * defining what information may be controlled by the author;
  #  * supporting device independence for new devices such as
  #    telephones, PDAs, and televisions;
  #  [...]
The first of these points seems extremely broad; it should probably
be scoped further.  Furthermore, it is unclear to me how the
specification addresses the second.


My biggest concern with section 6 (Implementation in Host Languages)
is somewhat broader rather than about particular pieces of text.  I
think the WAI-ARIA specification should encourage its own syntactic
obsolescence (which I distinguish from semantic obsolescence).  By
this, I mean that I think the syntax described in the specification
ought to be temporary, only until markup languages such as HTML
define vocabularies that can be mapped into the breadth of the
semantics in the WAI-ARIA specification (and are mapped that way by
default).

Having semantic markup for these things that is not specific to
assistive technology will lead to benefits for users, including
accessibility benefits.  For example, in Firefox, users who have
configured a Windows high contrast theme get by default the Firefox
preference to ignore colors specified by the author.  This
preference causes problems with some types of markup where authors
construct their own controls -- the same types of markup that ARIA
is trying to make more accessible.  For example, with this
preference set, users are unable to see the selection in a tree
control, since that selection is expressed as an author-specified
color.  The ARIA annotations don't help here, but if the tree
control were marked up as an HTML5 tree control, there would be an
appropriate default color for the selected row.

More generally, semantic markup tends to be more accurate when it
causes more effects.  (This is the problem of hidden metadata
tending to become inaccurate.)  ARIA is somewhat self-limiting
because the markup is "hidden" to anybody not using assistive
technology.  However, in many cases, the markup would be useful to
others if it were not limited; thus I think the specification should
encourage host languages to obsolete the ARIA specification by
having semantic markup that, by default, covers the semantic range
covered by the ARIA markup (but applies to more than just assistive
technology).  It might help encourage this if the specification
explicitly encouraged host languages to define mappings from their
markup semantics to default values for ARIA semantics.

This makes me wonder whether section 6.1.4, which says, in full:
  # If the host language incorporates ARIA support and there is a
  # conflict between a host language feature and an ARIA feature,
  # assistive technology should assign preference to the ARIA
  # feature.
is really the right way to go.  However, I suppose it's a
SHOULD-level requirement, so that if the Web evolves such that
assistive technology implementers find they get a better user
experience from making the opposite choice, they ought to.  However,
I wonder whether the specification should really even have a
SHOULD-level requirement for what ought to be governed by trying to
give users the best experience.  (However, I concede that having
this SHOULD may behavior more predictable to authors.)


I'm also a bit puzzled by section 6.1.3 (Focus Navigation).  It
seems like it might be in the spec not because it fits with the rest
of the spec, but because it's something that the spec's authors
would like to enforce on other languages.  That said, I think it
doesn't make sense, because it doesn't necessarily make sense for
*any* element to be focusable (consider elements inside the head
element in HTML), and because languages might want to limit
extensibility to certain elements rather than allowing all elements
to be used to build controls like those ARIA is intended to provide
information about.

-David

-- 
L. David Baron                                 http://dbaron.org/
Mozilla Corporation                       http://www.mozilla.com/

Received on Monday, 6 April 2009 18:21:59 UTC