[contents]
Copyright © 2005 W3C ® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use rules apply.
This document describes the formal schema of the Evaluation and Report Language (EARL) 1.0. The Evaluation and Report Language is a standardized format to express test results. The primary motivation for developing this language is to facilitate the exchange of test results between Web accessibility evaluation tools in a vendor neutral and platform independent format. It also provides reusable vocabulary for generic Web quality assurance and validation purposes. While this document focuses on the technical details of the specification, a companion document describes the motivations for EARL and provides a tutorial introduction to its use. [Editor's note: link EARL 1.0 Guide once available.]
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
The purpose of the Evaluation and Report Language (EARL) 1.0 Schema is to define a common vocabulary to express test results. It is intended as one part of a two-part replacement for the EARL 1.0 Working Draft of 6 December 2002. While this document focuses on the technical details of the specification, a companion document describes the motivations for EARL and provides a tutorial introduction to its use. [Editor's note: link EARL 1.0 Guide once available.] The ERT Working Group encourages feedback about this document by Web developers and researchers with interest in software supported evaluation and validation of Web sites. In particular, the group is looking for feedback about how well the schema addresses the description of accessibility test results, and how to best relate these results to resources that are available on the Web. Please refer to the EARL 1.0 Known Issues for more details and background about currently open issues. Questions are also highlighted within the appropriate sections of this document.
Please send comments to the mailing list of the Evaluation and Repair Tools Working Group (ERT WG). The archives for this list are publicly available.
This is a Working Group internal draft of the Evaluation and Report Language (EARL) 1.0 Schema. This document will be published and maintained as a W3C Recommendation after review and refinement. Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced under the 5 February 2004 W3C Patent Policy. The Working Group maintains a public list of patent disclosures relevant to this document; that page also includes instructions for disclosing [and excluding] a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) with respect to this specification should disclose the information in accordance with section 6 of the W3C Patent Policy.
This document has been produced as part of the W3C Web Accessibility Initiative (WAI). The goals of the Evaluation and Repair Tools Working Group (ERT WG) are discussed in the Working Group charter. The ERT WG is part of the WAI Technical Activity.
[Editor's note: this section will be synchronized with the EARL 1.0 Guide as it is being developed.]
The Evaluation and Report Language (EARL) is a format to express test results. Test results include bug reports, test suite evaluations, and conformance claims. The test subject might be a Web site, an authoring tool, a user agent or some other entity. Thus, EARL is flexible. It enables any person, entity, or organization to state test results for any thing tested against any set of criteria.
Stating test results in EARL creates a variety of opportunities. The data can be:
A companion document to this specification is intended to provide more introductory material and explanation of the use cases for EARL.
EARL statements contain the following information:
Prose examples that demonstrate the above structure:
Example 1: a person carries out a manual evaluation of a Web page against a test criteria
http://www.example.org/mypage
Example 2: an evaluation tool carries out automated evaluation of a Web page against a test criteria
2004-04-14T14:00:04+1000
http://www.example.org/yourpage
There are many issues noted which need to be resolved in future drafts. Comments are specifically requested on any of these issues, which are marked as follows:
[Editor's note: there are some items that the working group has discussed but not reached consensus, and others that are known issues which have not yet been discussed]
The key words MUST
, MUST NOT
, REQUIRED
, SHALL
, SHALL NOT
, SHOULD
, SHOULD NOT
, RECOMMENDED
, MAY
, and OPTIONAL
will be used in accordance with RFC 2119 [RFC2119]
The namespace for EARL as specified in this draft is http://www.w3.org/WAI/ER/EARL/nmg-strawman#
.
[Editor's note: Versioning terms during the process of developing the vocabulary is an issue the group is working on. It is possible that a new namespace will be used for a final version of the vocabulary]
Where RDF terms are used in their abbreviated form (e.g. Assertion
or foaf:Person
), if no namespace is provided the term is in the EARL namespace. The following prefixes are used in examples throughout this document:
http://www.w3.org/WAI/ER/EARL/nmg-strawman#
which is described in this documenthttp://xmlns.com/foaf/0.1/
which is also where the terms are described [FOAF]http://purl.org/dc/elements/1.1/
whose terms are described in [DC]http://purl.org/dc/terms/
also described at [DCT]http://www.w3.org/1999/02/22-rdf-syntax-ns#
described in [RDF]http://www.w3.org/2000/01/rdf-schema#
described in [RDFS]http://www.w3.org/2002/07/owl#
described in [OWL]EARL is defined as an RDF vocabulary. The Resource Description Framework (RDF) [RDF] is a general-purpose language for describing information in a way that is machine-understandable.
EARL is an RDF vocabulary used to make statements about how a resource performed against a test. In common with other RDF it assumes that other vocabularies will be used as appropriate.
For more information on RDF, please refer to the following references:
The EARL 1.0 defines an RDF Vocabulary that consists of classes and properties. This section describes this core vocabulary as well as its usage while later sections describe extensibility of EARL 1.0; and conformance to EARL 1.0.
[Editor's note: an image with the nodes and relationships would be helpful to visualize the schema.
An assertion is a statement about the results of performing a test. This is the fundamental part of an EARL statement.
An assertion MUST
have at least the following properties:
assertedBy
MUSTbe asserted by an assertor. The property
assertedBy
is defined by this specification.subject
subject
is defined by this specification.testcase
testCase
is defined by this specification.result
result
is defined by this specification.mode
mode
is defined by this specification.Example 3: instance of an assertion expressed as an RDF/XML fragment
<earl:Assertion rdf:about="http://example.org/#assertion-1">
<earl:assertedBy rdf:resource="http://example.org/#assertor123" />
<earl:subject rdf:resource="http://example.org/#someID02495"/>
<earl:testcase rdf:resource="http://example.org/#testcase-1"/>
<earl:result rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#pass"/>
<earl:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#manual"/>
</earl:Assertion>
An assertor states the results of a test (i.e. an assertor asserts and assertion). An assertor must be either a person or a tool of class Assertor
which is defined by this specification. An assertor MUST
belong to one of the following types:
foaf:Person
Person
for a person. There should be identifying information including a name, and a uniquely identifying property such as email address or an encrypted email address. Again, the properties name
, mbox
and mbox_sha1sum
are defined by FOAF [FOAF].PersonUsingTool
PersonUsingTool
class, and the usingTool
and user
properties to identify the people and tools concerned.Software
The assertor in the following example is a person using software. Their personal email address is used to uniquely identify them, in both unencrypted and encrypted forms (it is not necessary to use both of these methods, but it is permitted). The test was done using a tool called "My Favorite Tool".
Example 4: an assertor person called Bob B. Bobbington using a software to carry out an assertion
<earl:PersonUsingTool rdf:about="http://example.org/#assertor123">
<earl:user>
<foaf:Person>
<foaf:name>Bob B. Bobbington</earl:name>
<foaf:mbox rdf:resource="mailto:bob@example.org"/>
<foaf:mbox_sha1sum>1a9daad476f0158b81bc66b7b27b438b4b4c19c0</foaf:mbox_sha1sum>
</foaf:Person>
</earl:user>
<earl:usingTool>
<earl:Software rdf:about="http://example.com/toolshop/MFT#20050101b2">
<dc:title xml:lang="en">My Favorite Tool</dc:title>
</earl:Software>
</earl:usingTool>
</earl:Assertor>
A Test Case is a test - usually one that can either be passed or failed. This may include many things such as validation requirements, code test cases, checkpoints from guidelines such as Web Content Accessibility Guidelines 1.0 [WCAG10], etc. These SHOULD
be identified with a URI.
A Test Case may be a single test, or may be a part of a larger compound test suite. These relations can be described using Dublin Core's hasPart
or isPartOf
properties.
[Editor's note: This class is included for convenience, since it allows various useful properties to be described in simple standard RDF. The working group will deprecate this class if they find an appropriate replacement from a language designed for describing test cases, something which is beyond the scope of the current specification.]
The following example uses the Test Case class to identify a test case for an Assertion:
Example 5: instance of a test case that is additionally described with a title and its relationship to a test suite
<earl:testcase>
<earl:TestCase rdf:about="http://example.org/#testcase-1">
<dc:title xml:lang="en">A sample test</dc:title>
<dc:isPartOf rdf:resource="http://example.org/#testsuite-517"</dc:isPartOf>
</earl:TestCase>
</earl:testcase>
The value of the testcase property is by definition a Test Case class so the above example can be shortened to:
Example 6: instance of a test case property with an empty Test Case class
<earl:testcase rdf:resource="http://example.org/#testcase-1" />
The value of the mode property must be exactly one test mode (or subclass of a test mode - see extensibility for more explanation). The modes defined are
manual
usingTool
property.automatic
heuristic
Example 7: instance of an assertion that has been carried out in manual mode
<earl:Assertion rdf:about="http://example.org/#assertion-1">
<earl:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#manual"/>
</earl:Assertion>
The result of the test. This MUST
have exactly one validity property.
It MAY
also include a description, using the Dublin Core description
property. This is meant to be human-readable text or markup (for example HTML included as an XML Literal). This can be inserted by a tool or by a human evaluator.
There is a confidence property which allows an evaluator to assert their confidence in the result. This MAY
be used where a tool wants to assert that it has difference levels of confidence about two possible results (for example low confidence that a test has been passed, but also high confidence that it is not applicable. [Editor's note: the confidence property is still under discussion, please refer to the confidence property for more information]
The following example shows a result with a validity of fail and a description of the problem in XHTML:
Example 8: A test result with a validity and a description property
<earl:result rdf:parseType="Resource">
<earl:validity rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#fail"/>
<dc:description rdf:parseType="Literal">
<div xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<p>The <code>table</code> element is not allowed to appear
inside a <code>p</code> element</p>
</div>
</dc:description>
</earl:result>
[Editor's note: there are currently value specified as confidence values, of high, medium, and low, but these are under discussion and may be removed or significantly revised since it is not yet clear how to ensure that they can be used interoperably]
Confidence in the result by an assertor. The values of the confidence level MUST
be one of the following:
high
medium
low
Outcome of a test. The values of the validity level MUST
be one of the following:
cannotTell
pass
or fail
fail
subject
did not meet the criteria defined by the testcase
notApplicable
subject
notTested
pass
Validity level can also be customized subclasses of these values, please refer to the section on extensibility for more information about this.
The class of things that have been evaluated. The Test Subject call MUST
have exactly one (Dublin Core) Date property. It MAY
also have any of the following properties:
dc:title
dc:description
dc:hasPart
dc:isPartOf
This class is intentionally generic to serve a wide variety of usages. The two classes Software and Web Content can be used for more specific use cases.
Example 9: a test subject that is a file in C programming language and that is part of an application
<earl:TestSubject rdf:about="http://example.org/#code.c"/>
<dc:title xml:lang="en">IO functions</dc:title>
<dc:description xml:lang="en">functions used to input and output data such as writing to disk</dc:description>
<dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#gDate">2005-06-25</dc:date>
<dc:isPartOf rdf:resource="http://example.org/#application"</dc:isPartOf>
</earl:TestSubject>
A piece of software such as an authoring tool, browser, or evaluation tool. Software must have a title (using the Dublin Core property title) and may have version information (using Dublin Core terms). Additionally, if it is used as a test subject then it inherits additional properties such as title, description, and date.
[Editor's note: Tool
used to be a sub class of Assertor
. The term Tool
has been deprecated in favour of Software
, which may also be a Test Subject]
Example 10: instance of a software which may used as an assertor or a test subject depending on how it is used in an assertion
<earl:Software rdf:about="http://example.org/#someID02495"/>
<dc:title xml:lang="en">TestThisTool version 4</dc:title>
<dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#gDate">2005-06-25</dc:date>
</earl:Software>
Information on the World Wide Web. This should include enough information to identify the content actually tested, taking account of content type and language negotiation and similar factors that can change the content actually served. This class is intended to be used as a test subject but can be reused for other purposes (outside EARL) as well. The Web content class has the following properties:
dc:format
dc:location
httpRequest
httpResponse
A Web content class MAY
include several request/response sequences to document the content and language negotiation that took place before the content was finally sent.
[Editor's note: the request/response properties of this class are still being refined]
Because EARL is written as an RDF vocabulary, it is extensible; that is, it is simple to add new terms or otherwise modify (for example by subclassing) them to fit your own specific application demands more closely. EARL was designed to be generic for usages in quality assurance but may need to be extended to fit particular domains. You may think of EARL as a core set of structures and terms. In addition, the working group expects to work on at least a couple of areas and extend the specification (especially with respect to Web accessibility evaluation) before publishing it as a Recommendation.
[Editor's note: there will be examples of extending EARL provided in a later draft]
The EARL vocabulary uses OWL [OWL] to provide formal constraints on what is valid EARL.
[Editor's note: the topic of conformance requirements beyond those implicit in the vocabulary definition will be discussed, and results will be incorporated into a future draft.]
[Editor's note: need to make a schema available at the namespace URI, which includes OWL information on deprecated terms]
<?xml version="1.0" encoding='UTF-8'?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:earl="http://www.w3.org/WAI/ER/EARL/nmg-strawman#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:owl="http://www.w3.org/2002/07/owl#">
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion">
<rdfs:label xml:lang="en">An assertion</rdfs:label>
<rdfs:comment xml:lang="en">Parent node that contains all parts of an assertion</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#assertedBy"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#mode"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#result"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#subject"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#testcase"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#assertedBy">
<rdfs:label xml:lang="en">asserted by</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertor"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#result">
<rdfs:label xml:lang="en">result</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestResult"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#subject">
<rdfs:label xml:lang="en">subject</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestSubject"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#testcase">
<rdfs:label xml:lang="en">testcase</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestCase"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#mode">
<rdfs:label xml:lang="en">mode</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestMode"/>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertor">
<rdfs:label xml:lang="en">Assertor Class</rdfs:label>
<rdfs:comment xml:lang="en">Person or evaluation tool that claims assertions</rdfs:comment>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:type="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Software"/>
<owl:Thing rdf:type="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PersonUsingTool"/>
<owl:Thing rdf:type="http://xmlns.com/foaf/0.1/Person">
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://xmlns.com/foaf/0.1/name"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://xmlns.com/foaf/0.1/mbox"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://xmlns.com/foaf/0.1/mbox_sha1sum"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Thing>
</owl:oneOf>
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#usingTool">
<rdfs:label xml:lang="en">Person using a tool</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PersonUsingTool"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Software"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#user">
<rdfs:label xml:lang="en">Person Assertor</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PersonUsingTool"/>
<rdfs:range>
<owl:Thing rdf:type="http://xmlns.com/foaf/0.1/Person">
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://xmlns.com/foaf/0.1/name"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://xmlns.com/foaf/0.1/mbox"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://xmlns.com/foaf/0.1/mbox_sha1sum"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Thing>
</rdfs:range>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Software">
<rdfs:label xml:lang="en">Software Tool</rdfs:label>
<rdfs:comment xml:lang="en">A tool that can perform tests or be the subject of testing</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/title"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/terms/hasVersion"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestCase">
<rdfs:label xml:lang="en">Test Case</rdfs:label>
<rdfs:comment xml:lang="en">Test case against which subjects are tested</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/terms/hasPart"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/terms/isPartOf"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestMode">
<rdfs:label xml:lang="en">Test Mode</rdfs:label>
<rdfs:comment xml:lang="en">Mode in which tests were conducted</rdfs:comment>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#manual">
<rdfs:label xml:lang="en">Manual Testing Mode</rdfs:label>
<rdfs:comment xml:lang="en">Test was performed by a human</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#automatic">
<rdfs:label xml:lang="en">Automatic Testing Mode</rdfs:label>
<rdfs:comment xml:lang="en">Test was performed by a tool</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#heuristic">
<rdfs:label xml:lang="en">Heuristic Testing Mode</rdfs:label>
<rdfs:comment xml:lang="en">Result was derived from other results</rdfs:comment>
</owl:Thing>
</owl:oneOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestResult">
<rdfs:label xml:lang="en">Test Result</rdfs:label>
<rdfs:comment xml:lang="en">Result from conducting test cases on subjects</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/description"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#confidence"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#validity"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#confidence">
<rdfs:label xml:lang="en">Confidence Level Property</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestResult"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ConfidenceLevel"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#validity">
<rdfs:label xml:lang="en">Validity Level Property</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestResult"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ValidityLevel"/>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ValidityLevel">
<rdfs:label xml:lang="en">Validity Level</rdfs:label>
<rdfs:comment xml:lang="en">Nominal value of the result</rdfs:comment>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#pass">
<rdfs:label xml:lang="en">Pass</rdfs:label>
<rdfs:comment xml:lang="en">Test passed</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#fail">
<rdfs:label xml:lang="en">Fail</rdfs:label>
<rdfs:comment xml:lang="en">Test failed</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#cannotTell">
<rdfs:label xml:lang="en">Can Not Tell</rdfs:label>
<rdfs:comment xml:lang="en">Outcome of the test is uncertain</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#notApplicable">
<rdfs:label xml:lang="en">Not Applicable</rdfs:label>
<rdfs:comment xml:lang="en">Test is not applicable to the subject</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#notTested">
<rdfs:label xml:lang="en">Not Tested</rdfs:label>
<rdfs:comment xml:lang="en">Test has not been carried out</rdfs:comment>
</owl:Thing>
</owl:oneOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ConfidenceLevel">
<rdfs:label xml:lang="en">Confidence Level</rdfs:label>
<rdfs:comment xml:lang="en">Level of confidence in the given result</rdfs:comment>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#high">
<rdfs:label xml:lang="en">High Confidence</rdfs:label>
<rdfs:comment xml:lang="en">Validity of the result is certain</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#medium">
<rdfs:label xml:lang="en">Medium Confidence</rdfs:label>
<rdfs:comment xml:lang="en">Validity of the result is not sure</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#low">
<rdfs:label xml:lang="en">Low Confidence</rdfs:label>
<rdfs:comment xml:lang="en">Validity of the result is questionable</rdfs:comment>
</owl:Thing>
</owl:oneOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestSubject">
<rdfs:label xml:lang="en">Test Subject</rdfs:label>
<rdfs:comment xml:lang="en">Subject of the assertion</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/terms/hasPart"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/terms/isPartOf"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/date"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:maxCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/title"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/description"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#WebContent">
<rdfs:label xml:lang="en">Web Content</rdfs:label>
<rdfs:comment xml:lang="en">Subjects that are available on the Web</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#httpRequest"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#httpResponse"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/location"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/format"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#httpRequest">
<rdfs:label xml:lang="en">http-request</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#WebContent"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#httpResponse">
<rdfs:label xml:lang="en">http-response</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#WebContent"/>
</rdf:Property>
</rdf:RDF>
The following terms are defined by this specification:
Class URI | Label | Required properties | Allowable types | Optional properties |
---|---|---|---|---|
http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion | Assertion |
|
||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertor | Assertor |
|
||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#PersonUsingTool |
|
|||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#Software | Software tool | dc:title | dct:hasVersion | |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestCase | Test case |
|
||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestMode | Test mode |
|
||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestResult | Test Result | earl:validity |
|
|
http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestSubject | Test Subject | dc:date |
|
|
http://www.w3.org/WAI/ER/EARL/nmg-strawman#WebContent | Web Content |
|
||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#ValidityLevel | Validity Level | |||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#ConfidenceLevel | Confidence Level | |||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#high | High Confidence | |||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#medium | Medium Confidence | |||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#low | Low confidence | |||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#pass | Pass | |||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#fail | Fail | |||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#notTested | Not tested | |||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#cannotTell | Cannot tell | |||
http://www.w3.org/WAI/ER/EARL/nmg-strawman#notApplicable | Not Applicable |
[Editor's note: There should be more linking around the different parts of the spec - schema, terms table, etc.]
Term URI | Label | Domain | Range |
---|---|---|---|
http://www.w3.org/WAI/ER/EARL/nmg-strawman#httpResponse | HTTP response information | earl:WebContent | unspecified |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#httpRequest | HTTP request information | earl:WebContent | unspecified |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#validity | validity | earl:TestResult | earl:ValidityLevel |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#confidence | confidence | earl:TestResult | earl:ConfidenceLevel |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#mode | mode | earl:Assertion | earl:TestMode |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#usingTool | using the tool | earl:PersonUsingTool | earl:Software |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#user | user | earl:PersonUsingTool | foaf:Person |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#assertedBy | asserted by | earl:Assertion | earl:Assertor |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#subject | result | earl:Assertion | earl:TestResult |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#subject | subject | earl:Assertion | earl:TestSubject |
http://www.w3.org/WAI/ER/EARL/nmg-strawman#testcase | test case | earl:Assertion | earl:TestCase |
This section records current changes and future plans for changes as the working draft matures to Recommendation level.
New terms have been introduced to the vocabulary, sometimes as replacements for deprecated terms that existed in EARLier drafts, sometime to introduce new funtionality
Software
Tool
and is not a subclass of Assertor, so can be used to describe any type of tool.PersonUsingTool
usingTool
, user
httpRequest
, httpResponse
WebContent
A number of terms have been deprecated, either in favour of terms from existing widely-used vocabularies, or because their use is somehow problematic. While this deprecation is provisional, no RDF has been published formally noting them as deprecated (for example through OWL). A quick guide to terms that have been provisionally deprecated:
reprOf
UserAgent
, Tool
Software
class.platform
message
, format
dc:description
and dc:format
.Person
, name
, email
, contactInfo
The working group is considering several open issues which would lead to extending the current vocabulary before it reaches recommendation.
As well as issues noted in the draft, the following issues are under active consideration:
A mechanism to provide further evidence used to make a claim. This could be a copy of the web content analysed for a particular test, or a rule describing how may tests are required to pass some compund test, and pointers to the individual results that together satisfy the rule.
Within Web content, for the use case of testing accessibility, it is very valuable to point to the location(s) that cause the test to pass or fail. This is also true of software interfaces and various other kinds of subject. THe working group has agreed in principle to include a mechanism for recording this information in an EARL report, but has not yet developed or found the necessary terms.
There are currently placeholder properties httpRequest
and httpResponse
for HTTP transaction information. The group expects to develop these further, either themselves or with an existing vocabulary.
This is under review by the working group. It is not clear how the currently defined model can be used interoperably, and whether there is an alternative approch that would allow for a more interoperable statement of confidence in some results.
http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
http://www.w3.org/TR/rdf-primer/
http://www.w3.org/TR/rdf-schema/
http://www.w3.org/DesignIssues/RDF-XML
http://www.dublincore.org/documents/dces/
http://www.dublincore.org/documents/dcmi-terms/
http://xmlns.com/foaf/0.1/
http://www.w3.org/TR/owl-features/
http://www.w3.org/TR/WCAG10/
http://www.ietf.org/rfc/rfc2119.txt
EARL is the result of the work of many people over the past. The editors would particularly like to thank Wendy Chisholm, Sean B Palmer, and Daniel Dardailler, who edited the first versions of the EARL specifications. The editors apologise for any names left out of this list, and will endeavour to rectify any errors noted in comments.
Shadi Abou-Zahra, Chrisoula Alexandraki, Myriam Arrue, Gabriele Bartolini, Giorgio Brajnik, Wendy Chisholm, Karl Dubost, Dominique Hazael-Massieux, Sandor Herramhof, Carlos Iglesias, Nick Kew, Johannes Koch, Jim Ley, Charles McCathieNevile, and Chris Ridpath.
Giorgio Brajnik, Dan Brickley, Karl Dubost, Nick Gibbins, Al Gilman, Dominique Hazael-Massieux, Nadia Heninger, Ian Hickson, Leonard Kasday, Nick Kew, Jim Ley, William Loughborough, John Lutts, Charles McCathieNevile, Libby Miller, Tom Martin, Dave Pawson, Eric Prud'hommeaux, Pierre Queinnec, Chris Ridpath, Romain Roure, Aaron Swartz, Olivier Thoreaux, and Rob Yonaitis.