EARL for a mixed-input report

As (most of) you know, AccessValet 1.0 generates diagnostic messages
to help a web content developer identify and fix violations of
WCAG or Section508.

AccessValet 1.1 extends the capabilities of 1.0 by taking the operator
through a process of classifying each warning: is this in fact a
violation, and if so what to do about it.  The purpose of this is to
generate a briefer accessibility report that can form part of a
management or QA process.  EARL is of course a primary target format.

I've been messing around with how to express this in EARL, and I'd
like to ask for review on my current ideas.  I've taken a brief
Valet report, and added comments to the EARL to make it clear what's
going on (chaals - does this use of "heuristic" meet your approval?)

I still don't think I understand the significance of reification here:-(

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns="http://www.w3.org/2001/03/earl/1.0-test#">

<!-- Level1 is the automatic analysis.  Detailed level1 reports are
     as seen in the online AccessValet
-->
<Assertor rdf:ID="level1">
  <testmode
      rdf:resource="http://www.w3.org/2001/03/earl/1.0-test#automatic"/>
  <name>Accessibility Valet</name>
  <contactInfo>http://valet.webthing.com/access/</contactInfo>
</Assertor>

<!-- Level2 results are generated as the operator ticks off each warning
     in the Level 1, and marks how to treat it.  The l2 assertor asserts
     a result based on the sum total of assertions.
-->
<Assertor rdf:ID="level2">
  <testmode
      rdf:resource="http://www.w3.org/2001/03/earl/1.0-test#heuristic"/>
  <name>Accessibility Valet (level 2)</name>
  <contactInfo>http://valet.webthing.com/access/</contactInfo>
</Assertor>

<!-- The operator asserts things about individual warnings -->

<Assertor rdf:ID="operator">
  <testmode
      rdf:resource="http://www.w3.org/2001/03/earl/1.0-test#manual"/>
  <name>Nick</name>
</Assertor>

<!-- All assertions in this report are about the page as a whole.
     Assign an ID to it so we can collect page info in one place.
-->
<rdf:Description rdf:ID="page">
  <WebContent rdf:resource="file:///home/nick/valet/tests/test01.html"/>
  <date>Thu Oct 24 15:26:19 2002</date>
</rdf:Description>

<!-- What we are testing against: in the case of WCAG,
     this is in two parts
-->
<rdf:Description rdf:ID="testcase">
  <testCase rdf:resource="http://www.w3.org/TR/WCAG10/#"/>
  <level>WCAG3</level>
</rdf:Description>

<!-- One level 1 assertion (result).  It should perhaps also reference
     a detailed Level1 report; OTOH that's for the developer,
     and (s)he may not want to publish or even save it

     Result here is always "suspectagainst", quantified by the note.
-->
<Assertion rdf:ID="l1result">
  <rdf:subject rdf:resource="#page"/>
  <rdf:predicate
    rdf:resource="http://www.w3.org/2001/03/earl/1.0-test#suspectAgainst"/>
  <note>Possible pass, but check carefully</note>
  <rdf:object rdf:resource="#testcase"/>
  <AssertedBy rdf:resource="#level1"/>
</Assertion>

<!-- One level 2 assertion (result).  This is the bottom-line of the
     whole report
-->
<Assertion rdf:ID="l2result">
  <rdf:subject rdf:resource="#page"/>
  <rdf:predicate
     rdf:resource="http://www.w3.org/2001/03/earl/1.0-test#Fail"/>
  <rdf:object rdf:resource="#testcase"/>
  <Note>Repairs Identified</Note>
  <AssertedBy rdf:resource="#level2"/>
</Assertion>

<!-- Any number of assertions may be made by the operator based on the
     warnings in the Level 1 report
-->
<Assertion rdf:ID="w1">
  <rdf:subject rdf:resource="#page"/>
  <rdf:predicate rdf:parseType="Resource">
    <testResult
      rdf:resource="http://www.w3.org/2001/03/earl/1.0-test#Pass"/>
    <note>Guideline Satisfied</note>
  </rdf:predicate>
  <rdf:object rdf:parseType="Resource">
    <testCase rdf:resource="#testcase"/>
    <note>Ensure that documents are readable without stylesheets too.</note>
  </rdf:object>
  <AssertedBy rdf:resource="#operator"/>
  <note>Tested in Lynx</note>
</Assertion>
<Assertion rdf:ID="w2">
  <rdf:subject rdf:resource="#page"/>
  <rdf:predicate rdf:parseType="Resource">
    <testResult
      rdf:resource="http://www.w3.org/2001/03/earl/1.0-test#Fail"/>
    <note>Action Required</note>
  </rdf:predicate>
  <rdf:object rdf:parseType="Resource">
    <testCase rdf:resource="#testcase"/>
    <note>Document should identify language.</note>
  </rdf:object>
  <AssertedBy rdf:resource="#operator"/>
  <note>Add "lang" attribute to "html" element</note>
</Assertion>


</rdf:RDF>


-- 
Nick Kew

Received on Thursday, 24 October 2002 22:53:20 UTC