<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE spec SYSTEM "xmlspec.dtd">
<spec status="final" w3c-doctype="wgnote">
	<header>
		<title>ARIA Techniques</title>
		<w3c-designation>WCAG20-ARIA-TECHS</w3c-designation>
		<w3c-doctype>W3C Working Group Note</w3c-doctype>
		<pubdate>
			<day>3</day>
			<month>January</month>
			<year>2012</year>
		</pubdate>
		<publoc>
			<loc href="http://www.w3.org/WAI/GL/WCAG20/sources/ARIA-tech-src.xml">http://www.w3.org/WAI/GL/WCAG20/sources/ARIA-tech-src.xml</loc>
		</publoc>
		<latestloc>
			<loc href="http://www.w3.org/WAI/GL/WCAG20/sources/ARIA-tech-src.xml">http://www.w3.org/WAI/GL/WCAG20/sources/ARIA-tech-src.xml</loc>
		</latestloc>
		<authlist>
			<author>
				<name>Ben Caldwell</name>
				<affiliation>Trace R&amp;D Center </affiliation>
			</author>
		</authlist>
		<status>
			<p/>
		</status>
		<abstract>
			<p>Placeholder - actual abstract text for WCAG20-TECHS is included in the XSLT, techs-merge.xslt. This file contains the XML for general techniques and can be used in conjunction with techs-sample-output.xsl to check that techniques will output correctly. </p>
		</abstract>
		<langusage>
			<language id="en-US"/>
		</langusage>
		<revisiondesc>
			<p/>
		</revisiondesc>
	</header>
	<body>
		<!-- techniques -->
		<div1 id="aria">
			<head>ARIA Techniques</head>
			<div2 id="wai-aria_notes">
				<head>WAI-ARIA Technology Notes</head>
				<p>To improve accessibility, WAI-ARIA provides Web developers with
          the option to add the following semantic information to Web
          pages and rich Internet widgets which are then exposed to the
          browser: </p>
				<ulist>
					<item>
						<p>Roles to describe the type of widget presented, such as
              "menu", "treeitem", "slider" and "progressbar." </p>
					</item>
					<item>
						<p>Roles to describe the structure of the Web page, such as
              headings, regions, search areas and navigation areas. </p>
					</item>
					<item>
						<p>Properties to describe the state widgets are in, such as
              "checked" for a check box, "haspopup" for a menu that
              renders a sub-menu or other popup and "expanded/collapsed"
              for a tree node. </p>
					</item>
					<item>
						<p>Properties to define <loc href="http://www.w3.org/TR/wai-aria/states_and_properties#attrs_liveregions">live regions</loc> of a page that are likely to
              get updates (such as stock quotes), as well as an
              interruption policy for those updates. Assistive
              technologies may present critical updates as soon as they
              are rendered. However, incidental updates are presented only
              after completing the current task. For example, a screen
              reader informs a user of an incidental update only after it
              finishes reading the current paragraph. </p>
					</item>
					<item>
						<p>Properties for drag-and-drop that describe drag sources and
              drop targets </p>
					</item>
					<item>
						<p>A method to provide keyboard navigation for rich internet
              widgets.</p>
					</item>
				</ulist>
				<p>The combination of these features and the structural
          information conveyed by the DOM structure allow authors to
          produce an interoperable solution to assistive technologies.
          (Source: <loc href="http://www.w3.org/WAI/intro/aria">WAI-ARIA Overview</loc>)</p>
				<div3 id="wai-aria_ua_support">
					<head>User Agent Support for WAI-ARIA</head>
					<p>User Agent support for WAI-ARIA varies, but overall support for
            WAI-ARIA is improving. Browsers which support WAI-ARIA map
            WAI-ARIA roles and properties to platform accessibility APIs. </p>
					<ulist>
						<item>
							<p> Firefox 1.5 and Firefox 2.0 partially supports WAI-ARIA,
                  however it requires the use of namespaces, and doesn't
                  support the use of Liveregions.</p>
						</item>
						<item>
							<p> Firefox 3+ contains better support for WAI-ARIA, including
                  Liveregions.</p>
						</item>
						<item>
							<p> IE8 partially supports WAI-ARIA. </p>
						</item>
						<item>
							<p> JAWS 8 and Window-Eyes 5.5+ partially support
                  WAI-ARIA.</p>
						</item>
						<item>
							<p> Jaws 10+ supports WAI-ARIA. </p>
						</item>
						<item>
							<p> FireVox, a self-voicing extension to Firefox, also
                  supports WAI-ARIA via direct DOM access. </p>
						</item>
						<item>
							<p>NVDA partially supports WAI-ARIA.</p>
						</item>
					</ulist>
				</div3>
				<div3 id="wai-aria_accessibility_support">
					<head>Accessibility Support for WAI-ARIA</head>
					<p>Using technologies in an Accessibility Supported way is required for conformance claims. Read more about <loc href="accessibility-support-documenting" linktype="understanding">Accessibility Support</loc>. The WCAG Working Group plans to review which WAI-ARIA techniques are sufficient when Accessible Rich Internet Application specifications reach W3C recommendation status. Refer to <loc href="http://www.w3.org/WAI/intro/aria">WAI-ARIA Overview</loc> for the latest information on the status of WAI-ARIA.</p>
				</div3>
			</div2>
			<technique id="ARIA1">
				<short-name>Using the aria-describedby property to provide a descriptive label for input controls</short-name>
				<applicability>
					<p>Technologies that support <loc href="http://www.w3.org/TR/wai-aria/">Accessible Rich Internet Applications (WAI-ARIA)</loc>. </p>
					<ednote>
						<edtext>This technique will be applicable when  Accessible Rich Internet Application specifications reach W3C recommendation status.</edtext>
					</ednote>
				</applicability>
				<applies-to>
					<success-criterion idref="content-structure-separation-programmatic" relationship="sufficient"/>
					<success-criterion idref="navigation-mechanisms-title" relationship="sufficient"/>
					<success-criterion idref="navigation-mechanisms-refs" relationship="sufficient"/>
					<success-criterion idref="minimize-error-cues" relationship="sufficient"/>
				</applies-to>
				<ua-issues>
					<ua-issue name="" version="">
						<p>See <specref ref="wai-aria_ua_support"/> for general information on user agent support.</p>
					</ua-issue>
					<ua-issue name="Internet Explorer" version="8">
						<p>IE 8 only supports <prop>aria-labelledby</prop> with a single id value and it does not support <prop>aria-describedby</prop> at all.</p>
					</ua-issue>
				</ua-issues>
				<description>
					<p>The purpose of this technique is to demonstrate how to use the   WAI-ARIA <loc href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-describedby">aria-describedby</loc> property to provide programmatically   determined, descriptive information about a user interface element. The   aria-describedby property may be used to attach descriptive information   to one or more elements through the use of an id reference list. The id   reference list contains one or more unique element ids. </p>
					<p>Refer to <loc href="http://www.w3.org/TR/wai-aria-primer/#ariahtml">Supporting   ARIA in XHTML and HTML 4.01</loc> for information on how to provide   WAI-ARIA States and Properties with XHTML and HTML. WAI-ARIA States and   Properties is compatible with other languages as well; refer to   documentation in those languages. </p>
					<note>
						<p>At this time, WAI-ARIA is a Working Draft. This technique   is provided as an advisory technique for organizations that wish to   experiment with achieving WCAG conformance using WAI-ARIA. When WAI-ARIA   becomes a formal specification and is supported in user agents, it is   anticipated that this technique will become a sufficient technique. </p>
					</note>
				</description>
				<examples>
					<eg-group>
						<head>XHTML</head>
						<description>
							<p>This example is coded in XHTML with a MIME type of   application:xhtml+xml. This MIME type is not supported in all user   agents. The aria-describedby property is added directly   into the XHTML markup, and no additional scripting is needed. </p>
						</description>
						<code xml:space="preserve"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1
 For Accessible Adaptable Applications//EN"
  "http://www.w3.org/WAI/ARIA/schemata/xhtml-aria-1.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
 <head>
 <meta http-equiv="content-type" content="application:xhtml+xml; charset=utf-8" />
 <title>Demonstration of aria-describedby property</title>
 <style type="text/css">
 div.form p { clear:left; margin: 0.3em 0;}
 .left {
   float:left;
   width:400px;
 }
 .right {
   width:100px;
   text-align:right;
 }
 </style>
 </head>
 <body>
 <p>The buttons on this page use the Accessible Rich Internet Applications aria-describedby property 
 to provide more detailed information about the button action</p>
 <div class="form">
 <p><span class="left" id="fontDesc" >Select the font faces and sizes to be used on this page</span>
 <span class="right"><button id="fontB" onclick="doAction('Fonts');" aria-describedby="fontDesc">
 Fonts </button></span></p>
 <p><span class="left" id="colorDesc" >Select the colors to be used on this page</span>
 <span class="right"><button id="colorB" onclick="doAction('Colors');" aria-describedby="colorDesc">
 Colors </button></span></p>
 <p><span class="left" id="customDesc" >Customize the layout and styles used on this page</span>
 <span class="right"><button id="customB" onclick="doAction('Customize');" aria-describedby="customDesc"> 
 Customize </button></span></p>
 </div>
 </body>
 </html>
]]></code>
					</eg-group>
					<eg-group>
						<head>HTML</head>
						<description>
							<p>This example uses scripting to add an aria-describedby   property to buttons on a page. The example creates a buttonIds array   variable to hold the ids of the elements that contain description text.   The setDescribedBy() function is called from the onload   event of the window object. </p>
							<p>The setDescribedBy() function loops through all of   the button elements and calls setAttribute() on each button   element to set the aria-describedby property. Each   button's aria-describedby property is set to the id   of the element containing its descriptive text. </p>
							<p>Using a user agent and/or assistive technology which supports   WAI-ARIA, the description will be provided when the user interface   controls receive focus. </p>
						</description>
						<code xml:space="preserve"><![CDATA[ <head>
 <meta http-equiv="content-type" content="text/xhtml; charset=utf-8" />
 <title>Demonstration of aria-describedby property</title>
 <style type="text/css">
 div.form p { clear:left; margin: 0.3em 0;}
.left {
  float:left;
  width:400px;
}
.right {
	width:100px;
	text-align:right;
}
 </style>
 <script type="text/javascript">
 //<![CDATA[

 // array entries for each button on the page that associates the button id 
 // with the id of the element containing the text which describes the button
 var buttonIds = new Array();
 buttonIds["fontB"]= "fontDesc";
 buttonIds["colorB"] = "colorDesc";
 buttonIds["customB"] = "customDesc";

 // function that is run after the page has loaded to set the aria-describedBy
 // property on each of the elements referenced by the array of id values
 function setDescribedBy(){
	if (buttonIds){
		var buttons = document.getElementsByTagName("button");
		if (buttons){
			var buttonId;
			for(var i=0; i<buttons.length; i++){
				buttonId = buttons[i].id;
				if (buttonId && buttonIds[buttonId]){
					buttons[i].setAttribute("aria-describedby", buttonIds[buttonId]);
				}
			}
		}
	}
 }

 // simulated action function - currently just displays an alert
 function doAction(theAction){
	alert("Perform the " + theAction + " action");
 }

 window.onload=setDescribedBy;

//]]]]><![CDATA[>
 </script>
 </head>
 <body>
 <p>The buttons on this page use the Accessible Rich Internet Applications 
 aria-describedby property to provide more detailed information 
 about the button action.
 </p>
 <div class="form">
 <p><span class="left" id="fontDesc" >Select the font faces and sizes to be used on this page</span>
    <span class="right"><button id="fontB" onclick="doAction('Fonts');"> Fonts </button></span>
 </p>
 <p><span class="left" id="colorDesc" >Select the colors to be used on this page</span>
    <span class="right"><button id="colorB" onclick="doAction('Colors');"> Colors </button></span>
 </p>
 <p><span class="left" id="customDesc" >Customize the layout and styles used on this page</span>
    <span class="right"><button id="customB" onclick="doAction('Customize');"> Customize </button></span>
 </p>
 </div>
 </body>
]]></code>
					</eg-group>
				</examples>
				<resources>
					<see-also>
						<ulist>
							<item>
								<p>
									<loc href="http://www.w3.org/WAI/intro/aria">WAI-ARIA   Overview</loc>
								</p>
							</item>
						</ulist>
					</see-also>
				</resources>
				<related-techniques>
					<relatedtech idref="ARIA2"/>
				</related-techniques>
				<tests>
					<procedure>
						<olist>
							<item>
								<p> Check that there is an input control having an aria-describedby   attribute that references one or more elements via unique id. </p>
							</item>
							<item>
								<p> Check that the referenced element or elements provide   additional information about the input control. </p>
							</item>
						</olist>
					</procedure>
					<expected-results>
						<ulist>
							<item>
								<p> #1 and #2 are true. </p>
							</item>
						</ulist>
					</expected-results>
				</tests>
			</technique>
			<technique id="ARIA2">
				<short-name>Identifying required fields with the   aria-required property</short-name>
				<applicability>
					<p>Technologies that support <loc href="http://www.w3.org/TR/wai-aria/">Accessible Rich Internet Applications (WAI-ARIA)</loc>. </p>
					<ednote>
						<edtext>This technique will be applicable when  Accessible Rich Internet Application specifications reach W3C recommendation status.</edtext>
					</ednote>
				</applicability>
				<applies-to>
					<success-criterion idref="content-structure-separation-programmatic" relationship="sufficient"/>
					<success-criterion idref="minimize-error-cues" relationship="sufficient"/>
					<success-criterion idref="minimize-error-suggestions" relationship="sufficient"/>
				</applies-to>
				<ua-issues>
					<ua-issue name="" version="">
						<p>See <specref ref="wai-aria_ua_support"/> for general information on user agent support.</p>
					</ua-issue>
				</ua-issues>
				<description>
					<p>The objective of this technique is to indicate in a programmatically   determinable way that the completion of a user input field is mandatory.   The WAI-ARIA <loc href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-required">
							<prop>aria-required</prop>
						</loc> property indicates that user input is   required before submission. The <prop>aria-required</prop> property can have values   of <attval>true</attval> or <attval>false</attval>. For example, if a user must fill in an address   field, then <prop>aria-required</prop> is set to <attval>true</attval>. </p>
					<note>
						<p>The fact that the element is required is often visually   presented (such as a sign or symbol after the control). Using the <prop>aria-required</prop>   property in addition to the visual presentation makes it much easier   for user agents to pass on this important information to the user in a   user agent-specific manner.  Refer to <loc href="http://www.w3.org/TR/wai-aria-primer/#ariahtml">Supporting   ARIA in XHTML and HTML 4.01</loc> for information on how to provide   WAI-ARIA States and Properties with XHTML and HTML. WAI-ARIA States and   Properties is compatible with other languages as well; refer to   documentation in those languages. </p>
						<p>At this time, WAI-ARIA is a Working Draft. This technique   is provided as an advisory technique for organizations that wish to   experiment with achieving WCAG conformance using WAI-ARIA. When WAI-ARIA   becomes a formal specification and is supported in user agents, it is   anticipated that this technique will become a sufficient technique. </p>
					</note>
				</description>
				<examples>
					<eg-group>
						<head>A required text input field in XHTML</head>
						<description>
							<p>The following example shows an XHTML document using the <prop>aria-required</prop>   property to indicate that a form field must be submitted. The mandatory   nature of the field is also indicated in the label as a fallback for   user agents that do not support WAI-ARIA. </p>
						</description>
						<code xml:space="preserve"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 
    For Accessible Adaptable Applications//EN"
  "http://www.w3.org/WAI/ARIA/schemata/xhtml-aria-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
          xml:lang="en">
  <head>
    <title>Required Input</title>
  </head>
  <body>
    <h1>Required Input</h1>
    <p>The following form input field must be completed by the user
    before the form can be submitted.</p>
    <form action="http://example.com/submit">
      <p>
        <label for="test">Test (required)</label>
        <input name="ariaexample" id="example" aria-required="true" aria-label="Test"/>
      </p>
      <p>
        <input type="submit" value="Submit" />
      </p>
    </form>
  </body>
</html>
		]]></code>
					</eg-group>
					<eg-group>
						<head>Adding <prop>aria-required</prop> property via script</head>
						<description>
							<p>This example uses scripting to add the <prop>aria-required</prop>   property to a form element. The required property is assigned using the <function>setAttribute()</function>   API. </p>
							<p>The array variable, <var>requiredIds</var>, is created with the   ids of the elements which need to be marked as required. The <function>setRequired()</function>   function is called from the <event>onload</event> event of the <obj>window</obj>   object. </p>
							<p>The <function>setRequired()</function> function loops through all of the   ids provided, retrieves the element and assigns the aria-required   property of true using the setAttribute() function. </p>
							<p>When this page is accessed using Firefox 3.0 or later and a   screen reader that supports WAI-ARIA, the screen reader will speak   "required" when reading the label for the input fields. </p>
						</description>
						<code xml:space="preserve"><![CDATA[<head>
 <script type="text/javascript">
 //<![CDATA[
 
 // array or ids on the required fields on this page
 var requiredIds = new Array( "firstName", "lastName");
 
 // function that is run after the page has loaded to set the aria-required property on each of the 
 //elements in requiredIds array of id values
 function setRequired(){
 	if (requiredIds){
 		var field;
 		for (var i = 0; i< requiredIds.length; i++){
 			field = document.getElementById(requiredIds[i]);
 			field.setAttribute("aria-required", "true");
 		}
 	}
 }
 window.onload=setRequired;
//]]]]><![CDATA[>
 </script>
 </head>
 <body>
 <p>Please enter the following data.  Required fields have been programmatically identified 
 as required and  marked with an asterisk (*) following the field label.</p>
 <form action="submit.php">
 <p>
 <label for="firstName">First Name *: </label><input type="text" name="firstName" 
    id="firstName" value="" />
 <label for="lastName">Last Name *: </label><input type="text" name="lastName" 
    id="lastName"  value="" />
 </p>
 </form>
 </body>
]]></code>
					</eg-group>
				</examples>
				<resources>
					<see-also>
						<ulist>
							<item>
								<p>
									<loc href="http://www.w3.org/WAI/intro/aria">WAI-ARIA   Overview</loc>
								</p>
							</item>
						</ulist>
					</see-also>
				</resources>
				<related-techniques>
					<relatedtech idref="ARIA3"/>
				</related-techniques>
				<tests>
					<procedure>
						<olist>
							<item>
								<p> Access a page with mandatory form fields in a user agent that   supports the Accessible Rich Internet Applications specification. </p>
							</item>
							<item>
								<p> Leaving mandatory form fields empty, attempt to submit the   form. </p>
							</item>
							<item>
								<p> Check that that the user agent notifies of the missing   information. </p>
							</item>
							<item>
								<p> Provide values for the mandatory fields. </p>
							</item>
							<item>
								<p> Check that the user agent allows form submission to proceed. </p>
							</item>
						</olist>
					</procedure>
					<expected-results>
						<ulist>
							<item>
								<p>#3 and #5 are true</p>
							</item>
						</ulist>
					</expected-results>
				</tests>
			</technique>
			<technique id="ARIA3">
				<short-name>Identifying valid range information with the aria-valuemin and aria-valuemax properties</short-name>
				<applicability>
					<p>Technologies that support <loc href="http://www.w3.org/TR/wai-aria/">Accessible Rich Internet Applications (WAI-ARIA)</loc>. </p>
					<ednote>
						<edtext>This technique will be applicable when  Accessible Rich Internet Application specifications reach W3C recommendation status.</edtext>
					</ednote>
				</applicability>
				<applies-to>
					<success-criterion idref="minimize-error-suggestions" relationship="sufficient"/>
				</applies-to>
				<ua-issues>
					<ua-issue name="" version="">
						<p>See <specref ref="wai-aria_ua_support"/> for general information on user agent support.</p>
					</ua-issue>
				</ua-issues>
				<description>
					<p>The objective of this technique is to provide information about the   allowable range of an entry field in a programmatically determinable   way. The WAI-ARIA <loc href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-valuemin">
							<prop>aria-valuemin</prop>
						</loc> and <loc href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-valuemax">
							<prop>aria-valuemax</prop>
						</loc> states provide the minimum and maximum   (respectively) values that may be provided by the user. Some user   agents will not permit users to enter values outside that range, or will   generate a validation error if users do so. The developer is still   responsible for providing validation that the value is within the range. </p>
					<p>Refer to <loc href="http://www.w3.org/TR/wai-aria-primer/#ariahtml">Supporting   ARIA in XHTML and HTML 4.01</loc> for information on how to provide   WAI-ARIA States and Properties with XHTML and HTML. WAI-ARIA States and   Properties is compatible with other languages as well; refer to   documentation in those languages. </p>
					<note>
						<p> At this time, WAI-ARIA is a Working Draft. This technique   is provided as an advisory technique for organizations that wish to   experiment with achieving WCAG conformance using WAI-ARIA. When WAI-ARIA   becomes a formal specification and is supported in user agents, it is   anticipated that this technique will become a sufficient technique. </p>
					</note>
				</description>
				<examples>
					<eg-group>
						<head>A spinner control that provides values between 1 and 100</head>
						<description>
							<p>The following spin button allows users to enter a number between 1 and 100 (inclusive).</p>
						</description>
						<code xml:space="preserve"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 
  For Accessible Adaptable Applications//EN" "http://www.w3.org/WAI/ARIA/schemata/xhtml-aria-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
  xml:lang="en">
<head>
  <title>Spin Button</title>
</head>
<body>
  <h1>Spin Button</h1>
  <p>Spin button allows users to enter a number between 1 and 100. It is 
    implemented as a text input, to which user agents that do not support 
    ARIA roles fall back.</p>
  <form action="http://example.com/submit">
    <p><label for="test">Enter a number between 1 and 100</label>
    <input name="test" id="test" role="spinbutton" 
      aria-valuemin="1" aria-valuemax="100" /></p>
    <p><input type="submit" value="Submit" /></p>
  </form>
</body>
</html>]]></code>
					</eg-group>
				</examples>
				<resources>
					<see-also>
						<ulist>
							<item>
								<p>
									<loc href="http://www.w3.org/WAI/intro/aria">WAI-ARIA   Overview</loc>
								</p>
							</item>
						</ulist>
					</see-also>
				</resources>
				<related-techniques>
					<relatedtech idref="ARIA2"/>
				</related-techniques>
				<tests>
					<procedure>
						<olist>
							<item>
								<p> Access a page with form fields that require data in a certain   range, using a user agent that supports the Accessible Rich Internet   Applications specification. </p>
							</item>
							<item>
								<p> Provide information that is outside the allowable range, and   attempt to submit the form. </p>
							</item>
							<item>
								<p> Check that the user agent notifies the user of the invalid   data. </p>
							</item>
							<item>
								<p> Provide information that is inside the allowable range, and   attempt to submit the form. </p>
							</item>
							<item>
								<p> Check that the user agent accepts the data and allows the   submit to proceed. </p>
							</item>
						</olist>
					</procedure>
					<expected-results>
						<ulist>
							<item>
								<p>#3 and #5 are true</p>
							</item>
						</ulist>
					</expected-results>
				</tests>
			</technique>
		</div1>
	</body>
	<back>
		<div1 id="placeholders">
			<!-- note: this can be updated using /misc/id-list.xslt (requires cut and paste)-->
			<head/>
			<p id="UNKNOWN">place holder for idref</p>
			<p id="cc1">placeholder for cc1</p>
			<p id="cc2">placeholder for cc2</p>
			<p id="cc3">placeholder for cc3</p>
			<p id="cc4">placeholder for cc4</p>
			<p id="cc5">placeholder for cc5</p>
			<p id="text-equiv">placeholder for text-equiv</p>
			<p id="text-equiv-all">placeholder for text-equiv-all</p>
			<p id="text-equiv-live-audio-only">placeholder for text-equiv-live-audio-only</p>
			<p id="media-equiv">placeholder for media-equiv</p>
			<p id="media-equiv-av-only-alt">placeholder for media-equiv-av-only-alt</p>
			<p id="media-equiv-captions">placeholder for media-equiv-captions</p>
			<p id="media-equiv-audio-desc">placeholder for media-equiv-audio-desc</p>
			<p id="media-equiv-real-time-captions">placeholder for media-equiv-real-time-captions</p>
			<p id="media-equiv-audio-desc-only">placeholder for media-equiv-audio-desc-only</p>
			<p id="media-equiv-sign">placeholder for media-equiv-sign</p>
			<p id="media-equiv-extended-ad">placeholder for media-equiv-extended-ad</p>
			<p id="media-equiv-text-doc">placeholder for media-equiv-text-doc</p>
			<p id="media-equiv-live-audio-only">placeholder for media-equiv-live-audio-only</p>
			<p id="content-structure-separation">placeholder for content-structure-separation</p>
			<p id="content-structure-separation-programmatic">placeholder for content-structure-separation-programmatic</p>
			<p id="content-structure-separation-sequence">placeholder for content-structure-separation-sequence</p>
			<p id="content-structure-separation-understanding">placeholder for content-structure-separation-understanding</p>
			<p id="visual-audio-contrast">placeholder for visual-audio-contrast</p>
			<p id="visual-audio-contrast-without-color">placeholder for visual-audio-contrast-without-color</p>
			<p id="visual-audio-contrast-dis-audio">placeholder for visual-audio-contrast-dis-audio</p>
			<p id="visual-audio-contrast-contrast">placeholder for visual-audio-contrast-contrast</p>
			<p id="visual-audio-contrast-scale">placeholder for visual-audio-contrast-scale</p>
			<p id="visual-audio-contrast-text-presentation">placeholder for visual-audio-contrast-text-presentation</p>
			<p id="visual-audio-contrast7">placeholder for visual-audio-contrast7</p>
			<p id="visual-audio-contrast-noaudio">placeholder for visual-audio-contrast-noaudio</p>
			<p id="visual-audio-contrast-visual-presentation">placeholder for visual-audio-contrast-visual-presentation</p>
			<p id="visual-audio-contrast-text-images">placeholder for visual-audio-contrast-text-images</p>
			<p id="keyboard-operation">placeholder for keyboard-operation</p>
			<p id="keyboard-operation-keyboard-operable">placeholder for keyboard-operation-keyboard-operable</p>
			<p id="keyboard-operation-trapping">placeholder for keyboard-operation-trapping</p>
			<p id="keyboard-operation-all-funcs">placeholder for keyboard-operation-all-funcs</p>
			<p id="time-limits">placeholder for time-limits</p>
			<p id="time-limits-required-behaviors">placeholder for time-limits-required-behaviors</p>
			<p id="time-limits-pause">placeholder for time-limits-pause</p>
			<p id="time-limits-no-exceptions">placeholder for time-limits-no-exceptions</p>
			<p id="time-limits-postponed">placeholder for time-limits-postponed</p>
			<p id="time-limits-server-timeout">placeholder for time-limits-server-timeout</p>
			<p id="seizure">placeholder for seizure</p>
			<p id="seizure-does-not-violate">placeholder for seizure-does-not-violate</p>
			<p id="seizure-three-times">placeholder for seizure-three-times</p>
			<p id="navigation-mechanisms">placeholder for navigation-mechanisms</p>
			<p id="navigation-mechanisms-skip">placeholder for navigation-mechanisms-skip</p>
			<p id="navigation-mechanisms-title">placeholder for navigation-mechanisms-title</p>
			<p id="navigation-mechanisms-focus-order">placeholder for navigation-mechanisms-focus-order</p>
			<p id="navigation-mechanisms-refs">placeholder for navigation-mechanisms-refs</p>
			<p id="navigation-mechanisms-mult-loc">placeholder for navigation-mechanisms-mult-loc</p>
			<p id="navigation-mechanisms-descriptive">placeholder for navigation-mechanisms-descriptive</p>
			<p id="navigation-mechanisms-focus-visible">placeholder for navigation-mechanisms-focus-visible</p>
			<p id="navigation-mechanisms-location">placeholder for navigation-mechanisms-location</p>
			<p id="navigation-mechanisms-link">placeholder for navigation-mechanisms-link</p>
			<p id="navigation-mechanisms-headings">placeholder for navigation-mechanisms-headings</p>
			<p id="meaning">placeholder for meaning</p>
			<p id="meaning-doc-lang-id">placeholder for meaning-doc-lang-id</p>
			<p id="meaning-other-lang-id">placeholder for meaning-other-lang-id</p>
			<p id="meaning-idioms">placeholder for meaning-idioms</p>
			<p id="meaning-located">placeholder for meaning-located</p>
			<p id="meaning-supplements">placeholder for meaning-supplements</p>
			<p id="meaning-pronunciation">placeholder for meaning-pronunciation</p>
			<p id="consistent-behavior">placeholder for consistent-behavior</p>
			<p id="consistent-behavior-receive-focus">placeholder for consistent-behavior-receive-focus</p>
			<p id="consistent-behavior-unpredictable-change">placeholder for consistent-behavior-unpredictable-change</p>
			<p id="consistent-behavior-consistent-locations">placeholder for consistent-behavior-consistent-locations</p>
			<p id="consistent-behavior-consistent-functionality">placeholder for consistent-behavior-consistent-functionality</p>
			<p id="consistent-behavior-no-extreme-changes-context">placeholder for consistent-behavior-no-extreme-changes-context</p>
			<p id="minimize-error">placeholder for minimize-error</p>
			<p id="minimize-error-identified">placeholder for minimize-error-identified</p>
			<p id="minimize-error-cues">placeholder for minimize-error-cues</p>
			<p id="minimize-error-suggestions">placeholder for minimize-error-suggestions</p>
			<p id="minimize-error-reversible">placeholder for minimize-error-reversible</p>
			<p id="minimize-error-context-help">placeholder for minimize-error-context-help</p>
			<p id="minimize-error-reversible-all">placeholder for minimize-error-reversible-all</p>
			<p id="ensure-compat">placeholder for ensure-compat</p>
			<p id="ensure-compat-parses">placeholder for ensure-compat-parses</p>
			<p id="ensure-compat-rsv">placeholder for ensure-compat-rsv</p>
			<p id="G1">placeholder for G1</p>
			<p id="G4">placeholder for G4</p>
			<p id="G5">placeholder for G5</p>
			<p id="G8">placeholder for G8</p>
			<p id="G9">placeholder for G9</p>
			<p id="G10">placeholder for G10</p>
			<p id="G11">placeholder for G11</p>
			<p id="G13">placeholder for G13</p>
			<p id="G14">placeholder for G14</p>
			<p id="G15">placeholder for G15</p>
			<p id="G17">placeholder for G17</p>
			<p id="G18">placeholder for G18</p>
			<p id="G19">placeholder for G19</p>
			<p id="G21">placeholder for G21</p>
			<p id="G53">placeholder for G53</p>
			<p id="G54">placeholder for G54</p>
			<p id="G55">placeholder for G55</p>
			<p id="G56">placeholder for G56</p>
			<p id="G57">placeholder for G57</p>
			<p id="G58">placeholder for G58</p>
			<p id="G59">placeholder for G59</p>
			<p id="G60">placeholder for G60</p>
			<p id="G61">placeholder for G61</p>
			<p id="G62">placeholder for G62</p>
			<p id="G63">placeholder for G63</p>
			<p id="G64">placeholder for G64</p>
			<p id="G65">placeholder for G65</p>
			<p id="G68">placeholder for G68</p>
			<p id="G69">placeholder for G69</p>
			<p id="G70">placeholder for G70</p>
			<p id="G71">placeholder for G71</p>
			<p id="G73">placeholder for G73</p>
			<p id="G74">placeholder for G74</p>
			<p id="G75">placeholder for G75</p>
			<p id="G76">placeholder for G76</p>
			<p id="G78">placeholder for G78</p>
			<p id="G79">placeholder for G79</p>
			<p id="G80">placeholder for G80</p>
			<p id="G81">placeholder for G81</p>
			<p id="G82">placeholder for G82</p>
			<p id="G83">placeholder for G83</p>
			<p id="G84">placeholder for G84</p>
			<p id="G85">placeholder for G85</p>
			<p id="G86">placeholder for G86</p>
			<p id="G87">placeholder for G87</p>
			<p id="G88">placeholder for G88</p>
			<p id="G89">placeholder for G89</p>
			<p id="G90">placeholder for G90</p>
			<p id="G91">placeholder for G91</p>
			<p id="G92">placeholder for G92</p>
			<p id="G93">placeholder for G93</p>
			<p id="G94">placeholder for G94</p>
			<p id="G95">placeholder for G95</p>
			<p id="G96">placeholder for G96</p>
			<p id="G97">placeholder for G97</p>
			<p id="G98">placeholder for G98</p>
			<p id="G99">placeholder for G99</p>
			<p id="G100">placeholder for G100</p>
			<p id="G101">placeholder for G101</p>
			<p id="G102">placeholder for G102</p>
			<p id="G103">placeholder for G103</p>
			<p id="G105">placeholder for G105</p>
			<p id="G107">placeholder for G107</p>
			<p id="G108">placeholder for G108</p>
			<p id="G110">placeholder for G110</p>
			<p id="G111">placeholder for G111</p>
			<p id="G112">placeholder for G112</p>
			<p id="G115">placeholder for G115</p>
			<p id="G117">placeholder for G117</p>
			<p id="G120">placeholder for G120</p>
			<p id="G121">placeholder for G121</p>
			<p id="G122">placeholder for G122</p>
			<p id="G123">placeholder for G123</p>
			<p id="G124">placeholder for G124</p>
			<p id="G125">placeholder for G125</p>
			<p id="G126">placeholder for G126</p>
			<p id="G127">placeholder for G127</p>
			<p id="G128">placeholder for G128</p>
			<p id="G130">placeholder for G130</p>
			<p id="G131">placeholder for G131</p>
			<p id="G133">placeholder for G133</p>
			<p id="G134">placeholder for G134</p>
			<p id="G135">placeholder for G135</p>
			<p id="G136">placeholder for G136</p>
			<p id="G138">placeholder for G138</p>
			<p id="G139">placeholder for G139</p>
			<p id="G140">placeholder for G140</p>
			<p id="G141">placeholder for G141</p>
			<p id="G142">placeholder for G142</p>
			<p id="G143">placeholder for G143</p>
			<p id="G144">placeholder for G144</p>
			<p id="G145">placeholder for G145</p>
			<p id="G146">placeholder for G146</p>
			<p id="G147">placeholder for G147</p>
			<p id="G148">placeholder for G148</p>
			<p id="G149">placeholder for G149</p>
			<p id="G150">placeholder for G150</p>
			<p id="G151">placeholder for G151</p>
			<p id="G152">placeholder for G152</p>
			<p id="G153">placeholder for G153</p>
			<p id="G154">placeholder for G154</p>
			<p id="G155">placeholder for G155</p>
			<p id="G156">placeholder for G156</p>
			<p id="G157">placeholder for G157</p>
			<p id="H2">placeholder for H2</p>
			<p id="H4">placeholder for H4</p>
			<p id="H24">placeholder for H24</p>
			<p id="H25">placeholder for H25</p>
			<p id="H27">placeholder for H27</p>
			<p id="H28">placeholder for H28</p>
			<p id="H30">placeholder for H30</p>
			<p id="H32">placeholder for H32</p>
			<p id="H33">placeholder for H33</p>
			<p id="H34">placeholder for H34</p>
			<p id="H35">placeholder for H35</p>
			<p id="H36">placeholder for H36</p>
			<p id="H37">placeholder for H37</p>
			<p id="H39">placeholder for H39</p>
			<p id="H40">placeholder for H40</p>
			<p id="H42">placeholder for H42</p>
			<p id="H43">placeholder for H43</p>
			<p id="H44">placeholder for H44</p>
			<p id="H45">placeholder for H45</p>
			<p id="H46">placeholder for H46</p>
			<p id="H48">placeholder for H48</p>
			<p id="H49">placeholder for H49</p>
			<p id="H50">placeholder for H50</p>
			<p id="H51">placeholder for H51</p>
			<p id="H53">placeholder for H53</p>
			<p id="H54">placeholder for H54</p>
			<p id="H56">placeholder for H56</p>
			<p id="H57">placeholder for H57</p>
			<p id="H58">placeholder for H58</p>
			<p id="H59">placeholder for H59</p>
			<p id="H60">placeholder for H60</p>
			<p id="H62">placeholder for H62</p>
			<p id="H63">placeholder for H63</p>
			<p id="H64">placeholder for H64</p>
			<p id="H65">placeholder for H65</p>
			<p id="H67">placeholder for H67</p>
			<p id="H69">placeholder for H69</p>
			<p id="H70">placeholder for H70</p>
			<p id="H71">placeholder for H71</p>
			<p id="H73">placeholder for H73</p>
			<p id="H74">placeholder for H74</p>
			<p id="H75">placeholder for H75</p>
			<p id="H76">placeholder for H76</p>
			<p id="H77">placeholder for H77</p>
			<p id="H78">placeholder for H78</p>
			<p id="H79">placeholder for H79</p>
			<p id="H80">placeholder for H80</p>
			<p id="H81">placeholder for H81</p>
			<p id="H82">placeholder for H82</p>
			<p id="H83">placeholder for H83</p>
			<p id="H84">placeholder for H84</p>
			<p id="H85">placeholder for H85</p>
			<p id="C6">placeholder for C6</p>
			<p id="C7">placeholder for C7</p>
			<p id="C8">placeholder for C8</p>
			<p id="C9">placeholder for C9</p>
			<p id="C12">placeholder for C12</p>
			<p id="C13">placeholder for C13</p>
			<p id="C14">placeholder for C14</p>
			<p id="C15">placeholder for C15</p>
			<p id="C16">placeholder for C16</p>
			<p id="C17">placeholder for C17</p>
			<p id="C18">placeholder for C18</p>
			<p id="C19">placeholder for C19</p>
			<p id="C20">placeholder for C20</p>
			<p id="C21">placeholder for C21</p>
			<p id="SCR1">placeholder for SCR1</p>
			<p id="SCR14">placeholder for SCR14</p>
			<p id="SCR16">placeholder for SCR16</p>
			<p id="SCR18">placeholder for SCR18</p>
			<p id="SCR19">placeholder for SCR19</p>
			<p id="SCR20">placeholder for SCR20</p>
			<p id="SCR21">placeholder for SCR21</p>
			<p id="SCR22">placeholder for SCR22</p>
			<p id="SCR24">placeholder for SCR24</p>
			<p id="SCR26">placeholder for SCR26</p>
			<p id="SCR27">placeholder for SCR27</p>
			<p id="SVR1">placeholder for SVR1</p>
			<p id="SVR2">placeholder for SVR2</p>
			<p id="SVR3">placeholder for SVR3</p>
			<p id="SM1">placeholder for SM1</p>
			<p id="SM2">placeholder for SM2</p>
			<p id="SM6">placeholder for SM6</p>
			<p id="SM7">placeholder for SM7</p>
			<p id="SM11">placeholder for SM11</p>
			<p id="SM12">placeholder for SM12</p>
			<p id="SM13">placeholder for SM13</p>
			<p id="SM14">placeholder for SM14</p>
			<p id="T1">placeholder for T1</p>
			<p id="T2">placeholder for T2</p>
			<p id="T3">placeholder for T3</p>
			<p id="F1">placeholder for F1</p>
			<p id="F2">placeholder for F2</p>
			<p id="F3">placeholder for F3</p>
			<p id="F4">placeholder for F4</p>
			<p id="F7">placeholder for F7</p>
			<p id="F8">placeholder for F8</p>
			<p id="F9">placeholder for F9</p>
			<p id="F10">placeholder for F10</p>
			<p id="F12">placeholder for F12</p>
			<p id="F13">placeholder for F13</p>
			<p id="F14">placeholder for F14</p>
			<p id="F15">placeholder for F15</p>
			<p id="F16">placeholder for F16</p>
			<p id="F17">placeholder for F17</p>
			<p id="F19">placeholder for F19</p>
			<p id="F20">placeholder for F20</p>
			<p id="F22">placeholder for F22</p>
			<p id="F23">placeholder for F23</p>
			<p id="F24">placeholder for F24</p>
			<p id="F25">placeholder for F25</p>
			<p id="F26">placeholder for F26</p>
			<p id="F30">placeholder for F30</p>
			<p id="F31">placeholder for F31</p>
			<p id="F32">placeholder for F32</p>
			<p id="F33">placeholder for F33</p>
			<p id="F34">placeholder for F34</p>
			<p id="F36">placeholder for F36</p>
			<p id="F37">placeholder for F37</p>
			<p id="F38">placeholder for F38</p>
			<p id="F39">placeholder for F39</p>
			<p id="F40">placeholder for F40</p>
			<p id="F41">placeholder for F41</p>
			<p id="F42">placeholder for F42</p>
			<p id="F43">placeholder for F43</p>
			<p id="F44">placeholder for F44</p>
			<p id="F46">placeholder for F46</p>
			<p id="F47">placeholder for F47</p>
			<p id="F48">placeholder for F48</p>
			<p id="F49">placeholder for F49</p>
			<p id="F50">placeholder for F50</p>
			<p id="F52">placeholder for F52</p>
			<p id="F54">placeholder for F54</p>
			<p id="F55">placeholder for F55</p>
			<p id="F58">placeholder for F58</p>
			<p id="F59">placeholder for F59</p>
			<p id="F60">placeholder for F60</p>
			<p id="F61">placeholder for F61</p>
			<p id="F62">placeholder for F62</p>
			<p id="F63">placeholder for F63</p>
			<p id="F65">placeholder for F65</p>
			<p id="F66">placeholder for F66</p>
			<p id="F67">placeholder for F67</p>
			<p id="F68">placeholder for F68</p>
			<p id="F69">placeholder for F69</p>
			<p id="F70">placeholder for F70</p>
			<p id="F71">placeholder for F71</p>
			<p id="F72">placeholder for F72</p>
			<p id="F73">placeholder for F73</p>
			<p id="F74">placeholder for F74</p>
			<p id="F75">placeholder for F75</p>
			<p id="F76">placeholder for F76</p>
			<p id="F77">placeholder for F77</p>
			<p id="F78">placeholder for F78</p>
			<p id="F79">placeholder for F79</p>
			<p id="F80">placeholder for F80</p>
			<p id="F81">placeholder for F81</p>
			<p id="F82">placeholder for F82</p>
			<p id="F83">placeholder for F83</p>
			<p id="F84">placeholder for F84</p>
			<p id="F85">placeholder for F85</p>
			<p id="F86">placeholder for F86</p>
		</div1>
	</back>
</spec>

