<?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>

	<h3 class="info">Instructions</h3>
<ul class="instructions">
	<li>Verify that RDF data describes the widget.  Indicators are:
		<ul title="Important RDF relationships">
			<li>Should be as a subClassOf button widget</li>
			<li>Should have an informative description</li>
			<li>Should have a baseConcept to HTML's "reset button"</li>
		</ul>
	</li>
	<li>Tab to the button widget</li>
	<li>Press space, verify the image and selected state changes</li>
	<li>Use the mouse, verify the same</li>
	<li>Click the text and verify it changes</li>
	<li>Click the buttonundo and verify the text changes back</li>
	<li>Do the same with the keyboard</li>
</ul>

		</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>

	<h3 class="info">Instructions</h3>
<ul class="instructions">
	<li>Verify that the new RDF widgets are identified as such on the page</li>
	<li>Verify information may be extracted through subClassOf, relatedConcept, and description relationships</li>
	<li>Tab to one of the checkbox widgets</li>
	<li>Press space, verify the image and checked state changes</li>
	<li>Press space again, verify the image and checked state changes</li>	
	<li>Check a number of the checkboxes and verify one may only check a certain number at one time 
		(test {Tuesday Morning, Tuesday Evening, Thursday Morning, Saturday Morning})</li>
	<li>Check a number of the checkboxes and verify the stated exclusive relationships hold
		(Test two weekday evenings, Test two weekend mornings, Test one weekend morning, one weekday evening, and then one weekend evening).</li>
	<li>Use the mouse, verify the same</li>
</ul>

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