This is very important to me

As part of our work at the WAI (Web Accessibility Initiative) we have been building Role taxonomies to add to other base languages for enhanced accessibility.
The roles (and adaptable properties) drafts are now public.
The main current use case at the moment is scripting and dynamic content , but we intend to extend it soon to give a better structure of a page and  types of content for better adaptation.

 http://www.w3.org/WAI/PF/GUI


The current use case is explained in full detail at
http://www.w3.org/WAI/PF/roadmap

(and the DTD for support of  adaptable properties is at  http://www.w3.org/WAI/PF/adaptable)

It is very important that our specification works with this decision.

So far we are doing the following:

1, We have defined role as follows:

<owl:Class rdf:ID="Role">

<rdfs:comment>This is a draft resource for adding semantic annotations and information to Web resources. Knowing what the types of content are in a Web page allows for better customized renderings such as information hiding, or rendering common types of content in a consistent way. It makes the Web easer to use and more accessible. You can also use this for device independence so that content is better formatted to fit on the device. </rdfs:comment>


<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="dc:description"/>

<owl:cardinality
rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>

</owl:Restriction>

</rdfs:subClassOf>

<rdfs:comment>You have to give each content type a description - sorry folks (just be glad I did not put a min length on the description</rdfs:comment>

<rdfs:comment>These are the required properties - however we recommend also using also  role:importance, and
supportedState. </rdfs:comment>

</owl:Class>

2, We have then defined  subclasses and instances  to build the taxonomy:

For example - a Checkbox is a type of  Input that is a type of Widget that is a type of  Role. The new properties above an input is that it must support the "checked"  state.

<owl:Class rdf:ID="Checkbox">

<rdfs:subClassOf rdf:resource="#Input"/>

<dc:description xml:lang="en">An input that has two possible values, an equivalent to a boolean. </dc:description>

<role:supportedState rdf:parseType="Resource">
    <rdfs:value>states:checked</rdfs:value>
    <role:default>false</role:default>
</role:supportedState>

<rdfs:comment xml:lang="en">checked="true"|"false"</rdfs:comment>

<role:domRef rdf:resource="&states;childContent"/>

</owl:Class>


3, We then refer to them in XHTML as follows:

 <span class="checkbox" id="chbox1" x2:role="wairole:checkbox"  />
 
Hope this is useful

All the best

Lisa Seeman
UB Access

Ben Adida wrote:

Hi all,

One of my tasks for this week was to figure out the details of the  "Role Attribute" issue from the issues list:
http://www.w3.org/2001/sw/BestPractices/HTML/2005-current-issues

The entire discussion about this was logged during our August 2nd  telecon
http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2005Aug/0003
(scroll to the near bottom, "RDF Role Attribute" just above the  action items.)

The main debate was whether the ROLE attribute would simply be syntax  for rdf:type, or whether xhtml2:role would be defined as an RDF  property that would be a subProperty of rdf:type. The problem with  the latter solution is something to do with OWL-DL compatibility.

We should aim to resolve this issue fairly quickly: please prepare to  bring up issues and discussion points at our upcoming telecon on  Tuesday.

-Ben