aria-level author requirments

(apologies for my earlier prematurely sent mail on this subject)

The authoring requirements for aria-level seem unclear. In particular, 
when level is needed, or how to determine that reliably.

The paragraph

"In many cases the user agent may be able to calculate the level of an 
item if it can be determined correctly from the document structure. This 
property may be used to provide an explicit indication of the level if 
that is not possible from the document structure. User agent automatic 
support for automatic calculation of level may vary; it is recommended 
that authors test with user agents and assistive technologies to 
determine whether this property is needed."

is somewhat bewildering as it states that in (some? many?) cases 
aria-level will not be needed at all, without suggesting what those 
cases are. The suggestion that authors determine what works using trial 
and error with UAs seems unhelpful; it is unlikely that authors have 
access to all available client software and the implicit suggestion that 
non-interoperability from UAs on how they extract document structure 
from markup seems likely to lead to user frustration as something that 
worked on the author's test-platform works differently for them.

Suggestion:

Make it a conformance requirement that aria-level not be used in 
situations where the UA can infer hierarchy from the document structure 
alone e.g. with html heading elements. This prevents problems like <h1 
aria-level=2><h2 aria-level=1> where the document semantics depend on 
whether the client understands aria-level at all.

(I also think that UA conformance requirements should prefer 
host-language semantics to aria semantics in case of conflict but that 
is a separate, more general issue)

Indicate cases where it is known that aria-level is not needed because 
the structure can be inferred and cases where it is needed, with examples.

Ensure that all cases where the UA can infer document hierarchy from 
structure are specified well enough that it is trivial to build 
interoperable implementations (this is probably mainly a host language 
issue, but where known host languages fail to fufill this, they should 
be fixed).

Make it a constraint that the highest level in the hierachy has 
aria-level=1 and for elements at level n, children in the hierarchy have 
aria-level n+1.

Received on Monday, 24 March 2008 23:48:44 UTC