<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"
 	xmlns:x2="http://www.w3.org/TR/xhtml2"
	xmlns:role="http://www.w3.org/2005/01/wai-rdf/GUIRoleTaxonomy#"
	xmlns:state="http://www.w3.org/2005/07/aaa">
<head>

<style type="text/css">
@namespace x2    url("http://www.w3.org/TR/xhtml2");
@namespace role  url("http://www.w3.org/2005/01/wai-rdf/GUIRoleTaxonomy#");
@namespace state url("http://www.w3.org/2005/07/aaa");
ul.hlist {
	list-style: none;
	margin: 1em;
	padding: 0;
	display: inline;
}

ul.hlist li	{
	display: inline;
	margin: 1em;
	padding: 0;	
}

p.inline {
	display: inline;
	margin: 1em;	
}

div#content {
	position: absolute;
	top: 0;
	left: 0;
}

.hide {
/*
	visibility: hidden;
	height: 0;
	width: 0;
	padding: 0;
	margin: 0;
	display: inline;
	*/
	display: none;
}

li.testItem {
	margin: 0;
}

iframe.short {
	margin-top: 1em;
	height: 3em;
}

iframe.textfieldShort {
	margin-top: 1em;
	height: 8em;
}

iframe.comboboxShort {
	margin-top: 1em;
	height: 11em;
}

iframe.rdfShort {
	margin-top: 1em;
	height: 14em;	
}

iframe.treeShort {
	margin-top: 1em;
	height: 20em;	
}

iframe.sliderShort {
	margin-top: 1em;
	height: 5em;	
}

h3.info {
	display: inline;
	margin: 0;
	padding: 0;
}

</style>

<title>All RDF Tests</title>
</head>

<body>
<h1>All RDF Tests</h1>

<h2>Test Information Options</h2>
<ul>
	<li><a href="index.php">Display no extended test information</a></li>
	<li><a href="index.php?short=1">Display the goal of the test</a></li>
	<li><a href="index.php?short=1&amp;long=1">Display above and the expected behavior</a></li>
	<li><a href="index.php?short=1&amp;long=1&amp;instructions=1">Display above and test instructions</a></li>
</ul>

<ul>
	<li class="testItem">
		<h2>Simple RDF Widget Extension</h2>
		<div class="info">

	<h3 class="info">Object</h3>
<p class="short">
A minimal RDF description of widgets and the buttonundo extended widget.
</p>

	<h3 class="info">Behavior</h3>
<p class="long">
This test explores the simple extension of an old widget through RDF.
The "parent" RDF is very simple, with most widgets and states from the full spec not listed, and the "child" RDF that defines the buttonundo is also quite simple, with no new states.
In addition, both RDF's are hosted in the same place, and nothing is subClassed from an outside RDF.
</p>
<p>
Left clicking, or typing the keyboard spacebar when the button is focused, will select the button.  
This is indicated visually with a depressed button image when selected and an 3d button image when not selected.
The accessible state "selected" will be updated in the DOM.
The text in the sample paragraph will be reset to its initial value.
</p>

		</div>
		<iframe class="short rdfShort" width="100%" src="buttonundo_reference/buttonundo_reference.php?iframe=1"/>
	</li>
	<li class="testItem">
		<h2>Complex RDF Widget Extension</h2>
		<div class="info">

	<h3 class="info">Object</h3>
<p class="short">
A more complex RDF description of widgets and extending the checkbox functionality.
</p>

	<h3 class="info">Behavior</h3>
<p class="long">
This test explores a more exhaustive extension of the checkbox, radio, and radiogroup widgets and states, through RDF.
The desired effect is a list of checkboxes, where the total number of checked checkboxes may be limited, and where 
certain groups of checkboxes will be exclusive.</p>
<p class="long">
The new widget and states are subclasses of widgets in the W3C spec.
"checkboxgroup" extends "select", has a relatedConcept of "radiogroup".
It serves to hold zero or more checkboxes and is multiselectable.  
It can have one new state, "checkedmax" which is related to "valuemax" 
and is the maximum number of checked allowed, within.
</p>
<p class="long">
Another state is introduced: "exclusivegroup".  
This is useful when there are many checkable options that are exclusive (i.e. "A is true, A is false").  
It's value is of the IDREFS format, a string of space seperated identifiers.  Only one checkbox in any 
exclusivegroup is allowed to be checked.  
</p>
<p class="long">
NOTE: "exclusivegroup" is not considered a good extension of the states and properties.  
It introduces complications and it is unlikely that any AT could support this in a meaningful way if it supports the 
standard set of states and widgets.  In most situations, the script could just as easily set the "disabled" state on 
widgets which were not allowed to be checked.
It is presented as a well-formed state extension and as a warning to future developers.
</p>
<p class="long">
Pressing space on a focused widget or clicking on a checkbox may toggle its checked state.
Attempting to check a second widget in an exclusivegroup will cause the existing checked widget to 
become temporarily styled ("flash") and no state changes will occur.
A valid check will be indicated visually with a checked checkbox image.
</p>

		</div>
		<iframe class="short rdfShort" width="100%" src="exclusivecheckbox_reference/exclusivecheckbox_reference.php?iframe=1"/>
	</li>
</ul>	

</body>
</html>

