W3C home > Mailing lists > Public > w3c-wai-gl@w3.org > April to June 2004

Making conformance claims in metadata

From: Charles McCathieNevile <charles@w3.org>
Date: Tue, 6 Apr 2004 00:41:48 -0400 (EDT)
To: WAI GL <w3c-wai-gl@w3.org>
Message-ID: <Pine.LNX.4.55.0403251730550.8966@homer.w3.org>

Hi folks,

on the teleconference, I took an action item to describe how to make a
conformance claim for random profiles, that is compatible with WCAG
conformance.

This can be done today, using RDF and in particular EARL. The basic mechanism
is as follows:

1 Note which checkpoints or requirements a page conforms to.
2 Identify a profile as bieng a list of requirements - for example some list
    of checkpoints.
3 Check whether what the page conforms to includes everything in the
    particular profile

The details go as follows:

Step 1:
Decribing Which checkpoint something conforms to can be done in EARL. What
you need is a URI that people agree represents the checkpoint (if you have
two groups who agree on different URI's there are simple ways of getting
OWL-based systems to merge the result sets, and there are effective ways of
getting systems that only implement RDF to do it too. But it's easier if you
agree up front). The rest of the process is described in some detail in "EARL
by Example" - http://www.w3.org/2001/sw/Europe/talks/200311-earl/all

Note that you can describe conformance to anything, so if you have a profile,
such as WCAG level double-A, and you have a URI to identify it, you can make
one EARL statement that asserts conformance to it.

Step 2:
Defining a profile can be done in a few ways. I think the best is to stick
with stuff that is well defined in published standards, and luckily this can
now be done almost entirely using Recommendations. (The exception is EARL,
which is still only a working draft).

As an example, one can declare that conformance to a particular WCAG
checkpoint is equivalent to passing a couple of tests, as follows:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#">
<owl:Ontology rdf:about=""/>
<owl:Class>
  <owl:equivalentClass>
    <owl:Restriction>
     <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#pass" />
     <owl:someValuesFrom rdf:resource="http://www.w3.org/TR/WCAG10/wai-pageauth.html#tech-identify-lang" />
   </owl:Restriction>
  </owl:equivalentClass>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Restriction>
        <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#pass" />
        <owl:someValuesFrom rdf:resource="http://example.org/#cp1T1" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#pass" />
        <owl:someValuesFrom rdf:resource="http://example.org/#cp1T2" />
      </owl:Restriction>
    </owl:intersectionOf>
</owl:Class>
</rdf:RDF>

A more interesting example is to declare that conformance to WCAG level A is
equivalent to conforming to each of the priority 1 checkpoints, or that
conformance to level double-A is equivalent to conforming tolevel A and to
each priority 2 checkpoint. (That's a big piece of RDF. I will write it up
this week so it is available).

Step 3:
Check if a page meets a particular set of requirements. This can be done
using various tools - for example an OWL reasoner can use statements like the
one above, and a list of EARL assertions about what checkpoints some content
meets, to determine if it meets a given conformance level.

This mechanism also allows people to define some new conformance profile (as
organisations like IMS, and profiles like US Section 508 purchasing
requirements already do). They can either be given a name, and defined in
terms of various test, like the example above, or you define them in terms of
a complex query without ever formally naming it. In usage it doesn't matter,
but there are of course political reasons why people might want to publish a
profile, or not publish it.

As it happens, we can't really make it impossible to do this - and there are
to my certain knowledge groups who will do it whether WCAG makes it easy or
hard. It seems that the most useful thing to do is to explicitly provide for
this in our work, since at the very least that makes it easier to compare
what people are doing if they are not adopting WCAG exactly as is.

cheers

Chaals
Received on Tuesday, 6 April 2004 00:41:49 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:47:29 GMT