Re: Using ARIA to override semantics

On Sat, Mar 19, 2011 at 9:50 AM, Richard Schwerdtfeger
<schwer@us.ibm.com> wrote:
>
> Jonas,
>
> For HTML 4: http://www.w3.org/wai/pf/aria-implementation For ARIA 1.0 and HTML 4.x all ARIA roles can override anything. We have added some restrictions in HTML 5 based on the change proposals from Steve which now also includes the chairs decisions.
>
> For HTML 5: We have defined host language semantics in section 3.2.6 in terms of ARIA. Where it has host language semantics you can see how it maps to platform accessibility API here:
> http://dev.w3.org/html5/html-api-map/overview.html#
>
> Section 3.2.6 states what roles are allowed to overrided the default host language semantics. When that happens the new role is assumed and you can refer to the role mapping in the link supplied above.
>
> Hope this helps.

Unfortunately it does not. My question was:

Is it expected that we rewrite all [non-AT] code to instead look at the roles?

I'll try to rephrase as I've already asked the question twice and we
still appear to be talking past each other.

For a given element, the ARIA role attribute can be used to describe
the semantics of that element. Is it expected that a HTML
implementation (including, but not limited to, browsers) expose these
semantics *only* to users of AT tools, or are they to be exposed to
*all* users?

Examples of how browsers expose semantics to users include what
context menu to display, automatically pressing a submit-button in a
form when the user presses "enter" and showing lists of all images in
the "page info" UI for a page.

To answer Sams email: As far as I have been able to tell, the ARIA
spec defines the semantics for the various ARIA attributes such as
role and aria-describedby. However it is not very clear in which
contexts these semantics apply. Normally I would have assumed that
that means that it applies in all contexts, but based on this thread
and other discussions I'm thinking this interpretation is wrong. The
most relevant thing I could find in the ARIA spec is this quote from
section 1.3 [1] where it only mentions ARIA affecting accessibility
APIs:

"Mainstream user agents use WAI-ARIA to alter how host language
features are exposed to accessibility APIs in order to improve
accessibility. The mechanism for this is defined in the WAI-ARIA User
Agent Implementation Guide [ARIA-IMPLEMENTATION]."

However all of section 1 is explicitly non-normative.

There is also the following wording in section 8.1 [2], which is normative:

"WAI-ARIA processing by the user agent MUST NOT interfere with the
normal operation of the built-in features of the host language."

But again, it does not mention in which contexts this applies. As an
interesting aside, my interpretation of that is that due to the
resolution of ISSUE-129, HTML5 will now be contradicting ARIA. But I'm
assuming I misunderstand ARIA here somehow. Would be nice to get that
language in the ARIA specification clarified.


So my suggestion to fix the issue I'm raising in this thread is to add
something like the following wording to a new part of section 8 in the
ARIA specification:

"8.5 ARIA in User Agents.

User agents MUST use WAI-ARIA to alter how host languages are exposed
to accessibility APIs by following the mechanisms defined in the
WAI-ARIA User Agent Implementation Guide [ARIA-IMPLEMENTATION].

User agents MUST NOT use WAI-ARIA to alter how host languages are
exposed to users and tools not using accessbility APIs."


Further, I think the wording in 8.1 should be clarified such that it
clearly does not contradict the resolution of ISSUE-129. But I'm not
sure what the exact intent of section 8.1 is, so I can't suggest any
wording there.

[1] http://www.w3.org/TR/wai-aria/introduction#ua-support
[2] http://www.w3.org/TR/wai-aria/conformance#ua_noninterference

/ Jonas

Received on Monday, 21 March 2011 09:52:26 UTC