<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Indiana University: IT Training Tips Blog &#187; Accessibility</title>
	<atom:link href="http://ittrainingtips.iu.edu/category/accessibility/feed" rel="self" type="application/rss+xml" />
	<link>http://ittrainingtips.iu.edu</link>
	<description>Tips and tricks to help you make the most of technology</description>
	<lastBuildDate>Tue, 21 May 2013 20:48:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Web Accessibility Made Easy: Consistent Navigation and Presentation</title>
		<link>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-consistent-navigation-and-presentation/05/2011</link>
		<comments>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-consistent-navigation-and-presentation/05/2011#comments</comments>
		<pubDate>Thu, 19 May 2011 20:19:50 +0000</pubDate>
		<dc:creator>ATAC Web Accessibility Team</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://ittrainingtips.iu.edu/?p=3148</guid>
		<description><![CDATA[This blog post in the “Web Accessibility Made Easy” series discusses why it is important to keep the navigation and presentation consistent. Consistency In spite of the importance of consistency for navigation and presentation, not all Web sites on the internet have a consistent navigational structure or presentation. This can be a severe disadvantage for [...]]]></description>
				<content:encoded><![CDATA[<p>This blog post in the “Web Accessibility Made Easy” series discusses why it is important to keep the navigation and presentation consistent.</p>
<h2>Consistency</h2>
<p>In spite of the importance of consistency for navigation and presentation, not all Web sites on the internet have a consistent navigational structure or presentation.  This can be a severe disadvantage for users with physical or cognitive disabilities.  For those with cognitive disabilities, remembering the location of links or sections of a Web can be very taxing. If these locations change from page to page, the extra cognitive processing required to relocate links or web page sections may inhibit users from task completion. Similarly, people with other impairments (fine motor, vision, or dexterity issues) may find it physically exhausting if links constantly change position on a Web page.</p>
<p>Consistency also benefits those without disabilities. Because of the vast array of information available on the Internet and the wide variety of Web site design methods, the cognitive load on people without disabilities is great. If the navigation and presentation remain the same throughout a Web site, the cognitive load is lessened for all users and the time it takes for users to locate their desired content is significantly reduced. Consistent navigation and presentation, also known as user interface, is a big topic in the world of usability. Renowned usability expert Jakob Nielsen has written a book on this topic, <em>Coordinating User Interfaces for Consistency</em> (<a href="http://www.useit.com/jakob/constbook.html">http://www.useit.com/jakob/constbook.html</a>). With the advent of templates and content management systems, consistent navigation and presentation is becoming easier to maintain and more prolific throughout the Internet.</p>
<h2>The Guideline</h2>
<h3>IU Web Accessibility guideline</h3>
<ol start="4">
<li>Presentation and navigation style shall remain consistent throughout the document.</li>
</ol>
<h2>Wrap Up</h2>
<p>Maintaining consistent navigation and presentation is not hard to do and is beneficial for both users with and without disabilities. It provides better usability and efficient navigation for all users. Take steps to help improve user experiences by ensuring all navigation and presentation of content on your Web site is consistent.</p>
]]></content:encoded>
			<wfw:commentRss>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-consistent-navigation-and-presentation/05/2011/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Accessibility Made Easy: Lists</title>
		<link>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-lists/05/2011</link>
		<comments>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-lists/05/2011#comments</comments>
		<pubDate>Thu, 19 May 2011 15:55:42 +0000</pubDate>
		<dc:creator>ATAC Web Accessibility Team</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://ittrainingtips.iu.edu/?p=1709</guid>
		<description><![CDATA[This blog post in the “Web Accessibility Made Easy” series describes how to appropriately use lists… a common feature of Web sites. Although helpful, lists are not always coded correctly. Lists HTML lists are an accepted way to outline or organize information into related groups on a Web page. Lists are a particularly helpful means [...]]]></description>
				<content:encoded><![CDATA[<p>This blog post in the “Web Accessibility Made Easy” series describes how to appropriately use lists… a common feature of Web sites. Although helpful, lists are not always coded correctly.</p>
<h2>Lists</h2>
<p>HTML lists are an accepted way to outline or organize information into related groups on a Web page. Lists are a particularly helpful means of organizing navigation links. There are three list sub-types: unordered, ordered and definition. Unordered lists, which are proceeded by a bullet, may be the most common type of list. Ordered lists are more commonly recognized as numbered lists.  Definition lists are a special list type, created to order and organize term/definition pair sets.  Below are examples of each type of HTML list. For more information on HTML lists, please consult the <a href="http://www.w3.org/TR/html4/struct/lists.html">W3C HTML 4 List page</a>.</p>
<p style="padding-left: 30px"><em>Unordered:</em></p>
<ul style="padding-left: 60px">
<li>Fred</li>
<li>Joe</li>
<li>Johnny</li>
</ul>
<ul> </ul>
<p style="padding-left: 30px"><em>Ordered:</em></p>
<ol style="padding-left: 60px">
<li> Joe</li>
<li>Fred</li>
<li>Johnny</li>
</ol>
<p style="padding-left: 30px"><em>Definition:</em></p>
<p style="padding-left: 30px">Sesquipedalian</p>
<p style="padding-left: 60px">Given to using long words.</p>
<p style="padding-left: 30px">Hortatory</p>
<p style="padding-left: 60px">Marked by strong urging; serving to encourage or incite</p>
<p style="padding-left: 30px"><strong>Note: </strong>The Definition list has been faked above because the HTML definition list element is not recognized by WordPress.</p>
<p>Lists, whether unordered, ordered or definition, need to have opening and closing tags to be valid HTML lists and render correctly to user agents including internet browsers and screen-reading software.</p>
<p style="padding-left: 30px"><em>Code Example:</em></p>
<p style="padding-left: 30px"><code>&lt;ul&gt;<br /> &lt;li&gt;Fred&lt;/li&gt;<br /> &lt;li&gt;Joe&lt;/li&gt;<br /> &lt;li&gt;Johnny&lt;/li&gt;<br /> &lt;/ul&gt;</code></p>
<p>Many developers create fake lists using images and CSS style rules to create the visual appearance of a list.  This creates navigation roadblocks for screen-reader users, especially if there are multiple lists coded in the same manner.   However, with correctly coded lists, screen-reader users can jump from list to list using keyboard shortcuts for easy navigation. In addition, screen-reading software announces how many items are in each list and if nested lists are present, allowing screen-reader users to understand the hierarchical structure of the list.  For these reasons and many others, lists should always be properly coded, after which, the developer can use CSS style rules to control their visual appearance.</p>
<h2>Guideline</h2>
<p><strong>IU Web Accessibility Guidelines</strong></p>
<p>18. Mark up lists and      nested lists properly.</p>
<ol> </ol>
<h2>Tutorial</h2>
<p>This tutorial will be using both the <a href="http://iuadapts.indiana.edu/webcourse/bad/Bad.html">Bad example web page</a> and the  <a href="http://iuadapts.indiana.edu/webcourse/bad/Good2.html">Good example web page</a>, along with their associated style sheets.</p>
<p>1.   The bad code – Fake      lists coded with images and CSS.</p>
<ol> </ol>
<p style="padding-left: 30px">In the code below there is no actual list; the list is faked.  To a screen-reader user, each bullet of this fake list would be read out, “img/bullet,” which would get annoying to any person.  Instead of using &lt;img&gt; tags, the developer should have created a HTML list and used CSS style rules to change the bullet to an image.</p>
<p style="padding-left: 30px"><code>&lt;img src="img/bullet.jpg" width="7" height="7" /&gt;Learn about the federal statues&lt;br /&gt;<br /> &lt;img src="img/bullet.jpg" width="7" height="7" class="float-left" /&gt;Research free and commercial tools that can aid you&lt;br /&gt;<br /> &lt;img src="img/bullet.jpg" width="7" height="7" class="float-left" /&gt;Participate web accessibility training&lt;br /&gt;<br /> &lt;img src="img/bullet.jpg" width="7" height="7" class="float-left" /&gt;Design the web site according to the standards provided&lt;br /&gt;</code></p>
<p>2.   Create correctly coded      HTML lists.</p>
<ol> </ol>
<p style="padding-left: 30px">Add the opening and closing tags &lt;ul&gt; and &lt;/ul&gt;. Then, replace the &lt;img&gt; and &lt;br/&gt; tags with &lt;li&gt; and &lt;/li&gt; tags.  The CSS style declaration below changes the bullet into the chosen image.</p>
<p style="padding-left: 30px"><code>&lt;ul class=“cbullet”&gt;<br /> &lt;li&gt; Learn about the federal statues &lt;/li&gt;<br /> &lt;li&gt; Research free and commercial tools that can aid you &lt;/li&gt;<br /> &lt;li&gt; Participate web accessibility training &lt;/li&gt;<br /> &lt;li&gt; Design the web site according to the standards provided &lt;/li&gt;<br /> &lt;/ul&gt;</code></p>
<p style="padding-left: 30px"><em>CSS Style declaration:</em></p>
<p style="padding-left: 30px"><code>.cbullet ul {</code></p>
<p style="padding-left: 60px"><code>list-style-image: url(img/bullet.jpg);</code></p>
<p style="padding-left: 30px"><code>}</code></p>
<p style="padding-left: 30px"><strong>Note: </strong> Having an image as a bullet does not affect how screen-reading software announces the list items.</p>
<h2>Wrap Up</h2>
<p><strong> </strong></p>
<p>Properly coding all lists is an easy way to improve the accessibility and navigability of a Web site without impacting the visual design.  Properly coded HTML lists are particularly important for screen-reader users.  In addition, coding lists items properly helps web pages to validate and ensures the Web page renders accurately in any Web browsing software.</p>
]]></content:encoded>
			<wfw:commentRss>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-lists/05/2011/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Accessibility Made Easy: Cascading Style Sheet Basics</title>
		<link>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-cascading-style-sheet-basics/05/2011</link>
		<comments>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-cascading-style-sheet-basics/05/2011#comments</comments>
		<pubDate>Thu, 19 May 2011 15:55:14 +0000</pubDate>
		<dc:creator>ATAC Web Accessibility Team</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://ittrainingtips.iu.edu/?p=3093</guid>
		<description><![CDATA[This blog post in the “Web Accessibility Made Easy” series discusses the basics of Cascading Style Sheets (CSS) and the importance of correctly using CSS. Cascading Style Sheets Use Cascading Style Sheets (CSS) to add consistent styling to Web pages. CSS rules separate document presentation elements (color, fonts, spacing, layout, headings, etc.) from document content [...]]]></description>
				<content:encoded><![CDATA[<p>This blog post in the “Web Accessibility Made Easy” series discusses the basics of Cascading Style Sheets (CSS) and the importance of correctly using CSS.</p>
<h2>Cascading Style Sheets</h2>
<p>Use Cascading Style Sheets (CSS) to add consistent styling to Web pages.  CSS rules separate document presentation elements (color, fonts, spacing, layout, headings, etc.) from document content (written in HTML or a similar markup language).  Separation of content and presentation does the following: </p>
<ul>
<li>Improves content accessibility</li>
<li>Improves flexibility and control for specification of presentation characteristics</li>
<li>Enables multiple pages to share formatting</li>
<li>Reduces complexity and repetition in the structural content though web design that does not rely on tables. <strong>(<a href="http://www.w3.org/Style/CSS/">W3C</a> &amp; <a href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets">Wikipedia</a>)</strong></li>
</ul>
<p>Modern Browsers (Firefox, Opera, and Internet Explorer) allow users to substitute their own custom style sheets that render Web pages in a more accessible format for that user. Without the use of Cascading Style Sheets this is not possible because inline and embedded styles override external style sheets added by the user. The images below show an example of a user modified style sheet created to improve the visual accessibility of the Web page to meet their particular needs.</p>
<p><div id="attachment_3100" class="wp-caption aligncenter" style="width: 310px"><a href="http://ittrainingtips.iu.edu/wp-content/uploads/2011/05/normalviewcss.jpg"><img src="http://ittrainingtips.iu.edu/wp-content/uploads/2011/05/normalviewcss-300x211.jpg" alt="Normal view of Web Accessibility Good Example Web Page" width="300" height="211" class="size-medium wp-image-3100" /></a><p class="wp-caption-text">Normal View as set by CSS</p></div><br />
<div id="attachment_3102" class="wp-caption aligncenter" style="width: 310px"><a href="http://ittrainingtips.iu.edu/wp-content/uploads/2011/05/Highcontrastview.jpg"><img src="http://ittrainingtips.iu.edu/wp-content/uploads/2011/05/Highcontrastview-300x211.jpg" alt="High Contrast view (White on Black) of the Web Accessibility Good Example Web Page" width="300" height="211" class="size-medium wp-image-3102" /></a><p class="wp-caption-text">High Contrast view (White on Black)</p></div><br />
The first image shows the Web page using the CSS style sheets created by the Web developer. The second image of the same Web page derives from a user specified CSS style sheet.  High contrast black and white text improves visual contrast of the page.  This is often helpful to individuals with low vision.</p>
<p>It is important to note, not all CSS style rules improve accessibility.  If important content is added to a Web page by using CSS instead of through the underlying code, when Cascading Style Sheets are disabled or they are substituted to accommodate personal preference or adaptive technology, the content added with CSS might not be accessible to the user. </p>
<h2>Good example with style sheets turned off</h2>
<p>Below is the Web page used in the examples above. In this instance, the Cascading Style Sheets have been disabled. Cascading Style Sheets have been used correctly because all the information available with the Cascading Style Sheets enabled is available when Cascading Style Sheets are disabled. In addition, new content is visible that was initially hidden by the CSS.  This hidden content aids users of adaptive technology with page navigation. It was hidden so that it would  not disrupt the visual layout, but still be useful.</p>
<p><a href="http://ittrainingtips.iu.edu/wp-content/uploads/2011/05/cssoffgood.jpg"><img src="http://ittrainingtips.iu.edu/wp-content/uploads/2011/05/cssoffgood-300x211.jpg" alt="Web Accessibility Good Example page with Stylesheets turned off" width="300" height="211" class="aligncenter size-medium wp-image-3111" /></a></p>
<h2>Bad example with style sheets turned off</h2>
<p>CSS has not been used appropriately in the Web page below. Using CSS, the header image and contact information were coded as background images of an HTML division element (<code>&lt;div&gt;</code>). Neither the header image nor contact information appears when the Cascading Style Sheets are removed.</p>
<p><a href="http://ittrainingtips.iu.edu/wp-content/uploads/2011/05/cssoffbad.jpg"><img src="http://ittrainingtips.iu.edu/wp-content/uploads/2011/05/cssoffbad-300x211.jpg" alt="Web Accessibility Bad Example page with Stylesheets turned off" width="300" height="211" class="aligncenter size-medium wp-image-3118" /></a></p>
<h2>Guideline</h3>
<h3>IU Web Accessibility Guidelines</h3>
<ol start="4">
<li>Presentation and navigation style shall remain consistent throughout the document.</li>
</ol>
<ol start="12">
<li>Documents shall be organized so they are readable without requiring an associated style sheet.</li>
</ol>
<ol start="16">
<li>Use style sheets to control layout and presentation.</li>
</ol>
<h2>Tutorial</h2>
<p>This tutorial demonstrates Cascading Style Sheet coding for both the <a href="http://iuadapts.indiana.edu/webcourse/bad/Bad.html">bad example Web page</a> and the <a href="http://iuadapts.indiana.edu/webcourse/bad/Good2.html">good example Web page</a>.</p>
<ol>
<li>Bad Code – Important content is coded as a CSS background image.
<p>To display the header image, the code below uses an HTML <code>&lt;div&gt;</code> element with a background image coded using CSS encapsulated in an HTML link element (<code>&lt;a&gt;</code>). The CSS style rule is linked to the <code>&lt;div&gt;</code> element’s id attribute, “headerimg”. Normally, there is no accessibility issue when using CSS background images.  But in this case, the header image is the main heading on the page. Therefore, its content should be accessible to adaptive technology through the alternative text attribute. Unfortunately, alternative text can only be added to hard coded images not CSS background images. The CSS style rule is found in the screen.css file or below:</li>
</ol>
<p style="padding-left: 45px"><code>&lt;div id="header"&gt;<br />
    &nbsp;&nbsp;&lt;a href="Bad.html"&gt;&lt;div id="headerimg"&gt;&lt;/div&gt;&lt;/a&gt;<br />
&lt;/div&gt;</code></p>
<h3 style="padding-left: 45px">CSS code</h3>
<p style="padding-left: 45px"><code>#headerimg {<br />
   &nbsp;&nbsp;background-image:url(../img/Header.jpg);<br />
    &nbsp;&nbsp;width:552px;<br />
    &nbsp;&nbsp;height:150px;<br />
    &nbsp;&nbsp;margin-left: 15.5em;<br />
}</code></p>
<ol start="2">
<li>Good Code – The CSS background image is hard coded as an image with alternative text in a HTML heading element
<p>The header image and parent link element act as the main heading for the page and therefore should be encapsulated a HTML heading element. HTML heading level 1 (<code>&lt;h1&gt;</code>) opening and closing elements are added around the entire link element, which encompasses the HTML <code>&lt;div&gt;</code> element and header image.  The HTML heading level 1 element was chosen because the image describes the main topic of the Web page, “Indiana University Web Accessibility Class.”</li>
<p style="padding-left: 10px"><code>&lt;div id="header"&gt;<br />
&nbsp;&nbsp;&lt;h1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="Good2.html"&gt;&lt;div id="headerimg"&gt;&lt;/div&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&lt;/h1&gt;<br />
&lt;/div&gt;</code></p>
<p style="padding-left: 10px">As stated above, because the image is now part of a heading it should be coded as an image with alternative text, instead of a CSS background image.  If no alternative text is present, the heading and link will appear empty to adaptive technology. The HTML <code>&lt;div&gt;</code> element is changed to an HTML <code>&lt;img&gt;</code> element. The image should have its height and width specified in the source code instead of in the CSS style rule to ensure the page layout does not expand when the image is loaded.  Finally, a new CSS style rule is added to the image to reposition it in the center of the parent HTML <code>&lt;div&gt;</code> element.</p>
<p style="padding-left: 10px"><code>&lt;div id="header"&gt;<br />
&nbsp;&nbsp;&lt;h1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;img src="img/Header.jpg" width="552" height="150"<br />
&nbsp;&nbsp;&nbsp;&nbsp;alt="Indiana University Web Accessibility Class" /&gt;<br />
&nbsp;&nbsp;&lt;/h1&gt;<br />
&lt;/div&gt;</code></p>
<h3 style="padding-left: 10px">CSS code</h3>
<p style="padding-left: 10px"><code>.thrColElsHdr #header img {<br />
&nbsp;&nbsp;margin: auto;<br />
}</code></p>
<h2>Wrap Up</h2>
<p>Properly using CSS can increase accessibility. However, when improperly used, CSS can adversely affect accessibility for those who use adaptive technology to access the web or who need to modify web pages to fit their specific accessibility needs.  Remember, CSS creates the most accessible Web pages when used to style content that already exists in the underlying code. Therefore, a good rule of thumb is to create page content first and then use CSS to style it for presentation on the Web page. By following this rule, no matter what style is used, the content will be accessible to all users of assistive technology.  In future blog posts more advanced CSS techniques will be discussed. </p>
]]></content:encoded>
			<wfw:commentRss>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-cascading-style-sheet-basics/05/2011/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Accessibility Made Easy: Tab Order</title>
		<link>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-tab-order/01/2011</link>
		<comments>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-tab-order/01/2011#comments</comments>
		<pubDate>Wed, 05 Jan 2011 20:32:01 +0000</pubDate>
		<dc:creator>ATAC Web Accessibility Team</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://ittrainingtips.iu.edu/?p=1642</guid>
		<description><![CDATA[This entry in the &#8220;Web Accessibility Made Easy&#8221; series discusses an HTML attribute many web developers may overlook… tab order. Tab order and tabindex Tab order or &#8220;tabbing order&#8221;, &#8220;defines the order in which (HTML) elements will receive focus when navigated by the user via the keyboard.&#8221; (Tabbing navigation, W3C) All elements that by specification [...]]]></description>
				<content:encoded><![CDATA[<p>This entry in the &#8220;Web Accessibility Made Easy&#8221; series discusses an HTML attribute many web developers may overlook… tab order.</p>
<h2>Tab order and tabindex</h2>
<p>Tab order or &#8220;tabbing order&#8221;, &#8220;defines the order in which (HTML) elements will receive focus when navigated by the user via the keyboard.&#8221; (<a href="http://www.w3.org/TR/html401/interact/forms.html#h-17.11.1">Tabbing navigation, W3C</a>) All elements that by specification or scripting can receive focus will be present in the tab order. The tab order works with the following elements among others….<span id="more-1642"></span> &lt;a&gt;, &lt;area&gt;, &lt;button&gt;, &lt;input&gt;, &lt;object&gt;, &lt;select&gt;, and &lt;textarea&gt; HTML elements. Normally, the tab order is determined by the order of elements in the HTML source code. The tab order may follow an unexpected order because of the way the web page is coded. Below is an example of an illogical tab order. The example shows the layout of an HTML form with elements that would be formatted in a two column layout with CSS.</p>
<p>Form</p>
<p>First Name                  Email<br /> Last Name                   Confirm Email</p>
<p>If viewing the source code for the form elements above, it seems like they should appear in this order: first name, email, last name and confirm email. This order could easily confuse someone with a cognitive disability or someone using screen-reading software. They would expect the last name field to come after the first name field because these two pieces of information (data) are closely associated. On an extremely long form or a form with more than two columns of form elements the illogical tab order would be even more evident.</p>
<p>The tab index attribute can correct an illogical tab order. The tab index attribute, &#8220;specifies the position of the current element in the tabbing order for the current document. This value must be a number between 0 and 32767.&#8221; (<a href="http://www.w3.org/TR/html401/interact/forms.html#h-17.11.1">Tabbing navigation, W3C</a>) Use of the tab index attribute enables tabbing to elements in the correct sequence based on the value provided in the attribute(s), beginning with the smallest value and ending with the largest value.</p>
<p>It should be noted that all elements with tab index attributes are accessed prior to page elements without tab index attributes. So tab order consists first of all page elements with tab index attributes followed by all elements without tab index attributes. This may result in illogical tab order. Tab index attributes may need to be added to all focusable HTML elements to create consistent, logical document wide tab order. Therefore, if the tab order appears logical to users without including the tabindex attribute, it is best to omit the attribute all together.</p>
<h2>Guideline</h2>
<p><strong>IU Web Accessibility Guidelines</strong></p>
<p style="padding-left: 30px">19.    Be sure tabbing through links,      form controls, and objects occurs in a logical order (sequence).</p>
<h2>Tutorial</h2>
<p>This tutorial will be using both the <a title="Bad example web page" href="http://iuadapts.indiana.edu/webcourse/bad/Bad.html" target="_blank">Bad example web page</a> and the <a title="Good example web page" href="http://iuadapts.indiana.edu/webcourse/bad/Good2.html" target="_blank">Good example web page</a>, along with their associated style sheets.</p>
<p style="padding-left: 30px">1.      The bad code &#8211; illogical tab      order</p>
<p style="padding-left: 60px">The code below has four form field elements, which are styled using CSS to control their layout. The problem is the email field comes before the last name field, so the tab order will be: first name, email, last name, confirm email.</p>
<p style="padding-left: 60px"><code>&lt;div class="formfield"&gt;<br />&lt;input name="FName"/&gt;<br />&lt;font color="#FF0000"&gt;First Name&lt;/font&gt;<br />&lt;/div&gt;<br />&lt;div&gt;<br />&lt;input name="Email"/&gt;<br />&lt;font color="#FF0000"&gt;Email&lt;/font&gt;<br />&lt;/div&gt;<br />&lt;div&gt;<br />&lt;input name="LName"/&gt;<br />&lt;font color="#FF0000"&gt;Last Name&lt;/font&gt;<br />&lt;/div&gt;<br />&lt;div&gt;<br />&lt;input name="Email2"/&gt;<br />&lt;font color="#FF0000"&gt;Confirm Email&lt;/font&gt;<br />&lt;/div&gt;</code></p>
<p style="padding-left: 30px">2.      Adding the tab index attribute to each of the form elements to correct the tab order.</p>
<p style="padding-left: 60px">The tab index attribute is added to each form element in the code below. Because this form is not the only content on the example page, a tabindex attribute of 1 is not used. Instead, the tabindex attributes begin with a value of 100. The higher tabindex attribute allows the developer to add tabindex attributes to other focusable HTML elements, preserving a logical tab order. These elements may precede the form in the source code.</p>
<p style="padding-left: 60px"><code>&lt;div class="formfield"&gt;<br />&lt;input name="FName" <strong>tabindex="100"</strong> /&gt;<br />&lt;font color="#FF0000"&gt;First Name&lt;/font&gt;<br />&lt;/div&gt;<br />&lt;div&gt;<br />&lt;input name="Email" <strong>tabindex="300"</strong> /&gt;<br />&lt;font color="#FF0000"&gt;Email&lt;/font&gt;<br />&lt;/div&gt;<br />&lt;div&gt;<br />&lt;input name="LName" <strong>tabindex="200"</strong> /&gt;<br />&lt;font color="#FF0000"&gt;Last Name&lt;/font&gt;<br />&lt;/div&gt;<br />&lt;div&gt;<br />&lt;input name="Email2"  onblur="validateemail();" <strong>tabindex="400"</strong> /&gt;<br />&lt;font color="#FF0000"&gt;Confirm Email&lt;/font&gt;<br />&lt;/div&gt;</code></p>
<p style="padding-left: 60px"><strong>Note:</strong> To ensure a logical tab order on the Good example web page, tabindex attributes should be added to all other &lt;a&gt;, &lt;select&gt;, &lt;input&gt;, &lt;textfield&gt; and &lt;button&gt; HTML elements.</p>
<h2>Wrap Up</h2>
<p>To ensure web pages have a logical tab order, use the tabindex attribute to control tab order. Logical tab order is important for people with and without disabilities because most people find it is very convenient to use tabbing navigation when filling out online forms. The next time you are filling out an online form, pay close attention to the tab order and the use of tabbing navigation. You will realize just how important tab order really is.</p>
]]></content:encoded>
			<wfw:commentRss>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-tab-order/01/2011/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Accessibility Made Easy: Form Labels</title>
		<link>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-form-labels/01/2011</link>
		<comments>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-form-labels/01/2011#comments</comments>
		<pubDate>Wed, 05 Jan 2011 19:28:35 +0000</pubDate>
		<dc:creator>ATAC Web Accessibility Team</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://ittrainingtips.iu.edu/?p=1652</guid>
		<description><![CDATA[This entry in the “Web Accessibility Made Easy” series will discuss explicitly associating a label with a form control. Label Elements The &#60;label&#62; element is an HTML element that defines a label for a specific control on a form.  There are two different ways to use label elements to associate a form control with a [...]]]></description>
				<content:encoded><![CDATA[<p>This entry in the “Web Accessibility Made Easy” series will discuss explicitly associating a label with a form control.</p>
<h2>Label Elements</h2>
<p>The &lt;label&gt; element is an HTML element that defines a label for a specific control on a form.  There are two different ways to use label elements to associate a form control with a meaningful, control specific label. The first way is to associate the label element’s “for” attribute with the corresponding “id” attribute of the form control.  The second way is to give the form control a title attribute, using the label description as the title.</p>
<p>Associating labels with form controls is essential to screen-reader users. Without explicit labeling of form controls, these users would have to guess what kind of information should be entered in each form control. <span id="more-1652"></span>Because by HTML specification label elements associate physical text with form controls, the associated label is always visually displayed. This may interrupt the flow and layout of the Web page.  However, Web developers can use a CSS style, like the one below, to hide content and keep it from being displayed visually on a page.  Although hidden content is not visually displayed, it is accessible to adaptive technology and keyboard-only users.<strong> </strong>Using the second method mentioned above, a Web developer can also explicitly label a form control, but not include physical text. This method is not recommended, but is useful for specialized form controls such as search fields. An easy way to check that all form controls have explicit labels is to use a tool like the <a href="http://firefox.cita.uiuc.edu/"><strong>Firefox Web Accessibility Extension</strong></a> from the University of Illinois Urbana-Champaign.  This tool allows Web developers to quickly identify which form controls are labeled and which are not.   Another way to do this is to look at the source code and verify each form control has and associated &lt;label&gt; element or a title attribute.</p>
<p style="padding-left: 30px">CSS Style to hide content</p>
<p style="padding-left: 30px"><code>.auraltext {</code></p>
<p style="padding-left: 30px"><code>position: absolute;<br />left:-9999px;<br />top:auto;<br />width:1px;<br />height:1px;<br />overflow:hidden;<br />}</code></p>
<p style="padding-left: 30px"><code>.auraltext:focus { </code></p>
<p style="padding-left: 30px"><code>position:static;<br />color:#000000;<br />width:auto;<br />height:auto;<br />outline: thin dotted black;<br />}</code></p>
<h2>Guideline</h2>
<p><strong>IU Web Accessibility Guidelines</strong></p>
<p style="padding-left: 30px">20. Associate labels explicitly with their form controls through positioning, coding or both.</p>
<h2>Tutorial</h2>
<p>This tutorial will use both the <a href="http://iuadapts.indiana.edu/webcourse/bad/Bad.html">Bad example web page</a> and the  <a href="http://iuadapts.indiana.edu/webcourse/bad/Good2.html">Good example web page</a>, along with their associated style sheets</p>
<p style="padding-left: 30px">1.      Bad code – No explicit      label for the form control.</p>
<ol> </ol>
<p style="padding-left: 60px">The code below has a form control that is styled using CSS to control its layout. The problem is that because the text label for the  control appears after the &lt;input&gt; element, screen-reading software does not correctly associate label with the form control.  Also, depending on the placement of the form control, screen-reading software may associate the text in front of the form control as the label for that form control.  If a paragraph of text were to come before the form control, this could become very confusing for a screen-reader user.</p>
<p style="padding-left: 60px"><code>&lt;div class="formcontrol"&gt;<br />&lt;input name="FName"/&gt;<br />&lt;font color="#FF0000"&gt;First Name&lt;/font&gt;<br />&lt;/div&gt;</code></p>
<p style="padding-left: 30px">2.      Position the text label      before the form control.</p>
<ol> </ol>
<p style="padding-left: 60px">To make the form easier to read for all users, the form control label “First Name” has been moved to the left side of the form control from the right side. Because this is a text input form control there is no reason, aside from design choice, to position the label after the form control.  However, if it were a radio button or checkbox, the convention is for the label to appear after the radio button or checkbox.</p>
<p style="padding-left: 60px"><code>&lt;div class="formcontrol”&gt;<br />&lt;font color="#FF0000"&gt;First Name&lt;/font&gt;<br />&lt;input type="text" /&gt;<br />&lt;/div&gt;</code></p>
<p style="padding-left: 30px">3.       Remove and replace deprecated      HTML elements.</p>
<ol> </ol>
<p style="padding-left: 60px">Next, to make the code XHTML compliant the deprecated font element has been replaced with a &lt;span&gt; element and a CSS style. Removing deprecated elements helps to ensure a Web page validates to the selected standards.</p>
<p style="padding-left: 60px"><code>&lt;div class="formcontrol"&gt;<br />&lt;span class="red"&gt;First Name&lt;/span&gt;<br />&lt;input name="FName" /&gt;<br />&lt;/div&gt;</code></p>
<p style="padding-left: 30px">4.      Add the &lt;label&gt; element      to the form control.</p>
<ol> </ol>
<p style="padding-left: 60px">The &lt;label&gt; element is then added.  The “for” attribute of the &lt;label&gt; element is used to explicitly associate the label with the form control by way of the input element’s “id” attribute.</p>
<p style="padding-left: 60px"><code>&lt;div class="formcontrol"&gt;<br />&lt;label for="FName"&gt;&lt;span&gt;First Name&lt;/span&gt;&lt;/label&gt;<br />&lt;input name="FName" /&gt;<br />&lt;/div&gt;</code></p>
<p style="padding-left: 30px">5.     Associate the label element      with the input element.</p>
<ol> </ol>
<p style="padding-left: 60px">Since the “id” attribute was not originally included in the input element, it must be added. The “for” attribute of the &lt;label&gt; element and “id” attribute of the &lt;input&gt; element must match exactly. Following these steps will ensure the form control is explicitly associated with the text label.  To make the rest of the forms on the web site accessible, &lt;label&gt; elements should be added, using the same techniques, to all the other form control.</p>
<p style="padding-left: 60px"><code>&lt;div class="formcontrol"&gt;<br />&lt;label for="FName"&gt;&lt;span&gt;First Name&lt;/span&gt;&lt;/label&gt;<br />&lt;input name="FName" /&gt;<br />&lt;/div&gt;</code></p>
<p style="padding-left: 60px"><em>Alternative Label technique:</em></p>
<p style="padding-left: 60px">The example below uses the title attribute technique to explicitly label a form control.  In the example there is a search field and search button.  The title attribute is added to the text input form control, the submit input form type automatically uses the value attribute as the label.</p>
<p style="padding-left: 60px"><code>&lt;div id="search_container”&gt;<br />&lt;input title="search form control" /&gt;&amp;nbsp;&amp;nbsp;<br />&lt;input value="Go" /&gt;<br />&lt;/div&gt;</code></p>
<h2><strong>Wrap Up</strong></h2>
<p><strong> </strong></p>
<p>Explicitly labeling form controls ensures that users of adaptive technology can accurately identify which information is supposed to be entered into each form control.  Rather than retrofitting a Web site so all forms are labeled, it is more expedient to incorporate form labels into the Web development work flow. Following this practice will add minimal time to Web site development, but will greatly  increase accessibility and usability.</p>
]]></content:encoded>
			<wfw:commentRss>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-form-labels/01/2011/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Accessibility Made Easy: Primary Language</title>
		<link>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-primary-language/12/2010</link>
		<comments>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-primary-language/12/2010#comments</comments>
		<pubDate>Thu, 02 Dec 2010 18:57:12 +0000</pubDate>
		<dc:creator>ATAC Web Accessibility Team</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://ittrainingtips.iu.edu/?p=1236</guid>
		<description><![CDATA[This entry in the “Web Accessibility Made Easy” series will discuss setting the primary language of a web page and how to deal with language changes. Language Attribute The Language attribute of HTML, lang=&#8221;fr&#8221;, identifies the language of the document to user agents (browsers, search engines, assistive technology), in this case to French. Including the [...]]]></description>
				<content:encoded><![CDATA[<p>This entry in the “Web Accessibility Made Easy” series will discuss setting the primary language of a web page and how to deal with language changes.</p>
<h2><strong>Language Attribute</strong></h2>
<p>The Language attribute of HTML, lang=&#8221;fr&#8221;, identifies the language of the document to user agents (browsers, search engines, assistive technology), in this case to French. Including the language attribute in the &lt;html &gt; tag at the beginning of a document sets the primary language for the entire document.  If the document will adhere to the XHTML specification, the xml:lang=&#8221;fr&#8221; language attribute should also be included. The xml:lang attribute is the standard way to identify language information in XML. Subsequent use of the language attribute changes the primary language to a different language, but only for that HTML element.  Language reverts back to the primary language at the end of the element.  </p>
<p><span id="more-1236"></span></p>
<p>The syntax consists of primary code followed by an optional dash and subcode:</p>
<p>lang=&#8221;primary code (&#8220;-&#8221; subcode) &#8220;</p>
<p>Sample Language codes:</p>
<p>lang=&#8221;fr&#8221; : French.<br /> lang=&#8221;en-US&#8221; : The U.S. version of English.<br /> lang=&#8221;en-cockney&#8221; : the Cockney version of English. <br /> lang=&#8221;i-navajo&#8221; : the Navajo language spoken by some Native Americans. <br /> lang=&#8221;x-klingon&#8221; : The primary tag &#8220;x&#8221; indicates an experimental language tag (<a href="http://www.w3.org/TR/html401/struct/dirlang.html">W3C</a>)</p>
<p>Two-letter primary codes are reserved for language abbreviations that  adhere to the <a href="http://xml.coverpages.org/iso639a.html">[ISO639]</a> standard. Likewise, any two-letter optional sub code should adhere to the <a href="http://xml.coverpages.org/country3166.html">[ISO3166]</a> standard.</p>
<h2><strong>Guideline</strong></h2>
<h3><strong>IU Web Accessibility Guidelines</strong><strong> </strong></h3>
<ol>
<li><strong>Clearly identify the primary natural language of the document and any instances when that language changes to another language including instances of text equivalents.</strong></li>
</ol>
<p><strong> </strong></p>
<ol> </ol>
<p>This guideline requires that in every document the language attribute is used in the &lt;html&gt; tag to  specify the primary language.  The guideline also stipulates that any subsequent changes of language be specified.  This allows for proper rendering of the text for all user agents including screen-reading software.</p>
<h2>Tutorial</h2>
<p>This tutorial will again be using the <a href="http://iuadapts.indiana.edu/webcourse/bad/Bad.html">Bad example web page</a>,  the <a href="http://iuadapts.indiana.edu/webcourse/bad/Good2.html">Good example web page</a> and their associated style sheets.</p>
<p style="padding-left: 30px">1.  Viewing the bad code –      missing language attribute</p>
<p style="padding-left: 30px">The code shown below does not contain any language attributes to indicate primary language. Therefore, screen-reading software will attempt to speak the German text in the example as English assuming the default language for the screen reader has been set to English.  When the primary language is not specified, user agents &#8211; in this case screen-reading software &#8211; default to the primary language for which they have been configured, in this example English. This results in mispronunciation of any language other than English.  If web pages are coded to correctly to indicate primary and secondary languages, screen-reading software can be set to automatically switch to the appropriate language by the screen-reader user.</p>
<p style="padding-left: 30px"><em>&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;&gt;</em></p>
<p style="padding-left: 30px"><em>&lt;p&gt;Netz-Zug&amp;auml;nglichkeit ist wichtig, weil sie nicht nur jene Leute mit     Unfähigkeit fördert. Sie hilft auch, die Web site allgemeinhin zugänglich     zu bilden, indem sie Tastaturzugang, Lärmkontrollen, Aufflackernkontrollen     und viel anderen Nutzen bewilligen.&lt;/p&gt;</em></p>
<p style="padding-left: 30px">2.   Adding the Language      attribute to the &lt;html&gt; tag and to  subsequent HTML elements</p>
<p style="padding-left: 30px">To indicate primary language for a web page, add the Language attribute to the &lt;html&gt; tag as in the example below.</p>
<p style="padding-left: 30px;text-align: left"><em>&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221; lang=&#8221;en-US&#8221; xml:lang=&#8221;en-US&#8221;&gt;</em></p>
<p style="padding-left: 30px">Simply adding both the HTML and XML language attributes to the &lt;html&gt; tag specifies the primary language for the entire document. All user agents should render the page content in the correct language as long as there are no changes from the primary language to another language. Adding the language attribute to subsequent HTML elements will accommodate language changes within the rest of document.</p>
<p style="padding-left: 30px"><em>&lt;div lang=&#8221;de&#8221;&gt;<br />&lt;p&gt;Netz-Zug&amp;auml;nglichkeit ist wichtig, weil sie nicht nur jene Leute mit Unf&amp;auml;higkeit f&amp;ouml;rdert. Sie hilft auch, die Web site allgemeinhin zug&amp;auml;nglich zu bilden, indem sie Tastaturzugang, L&amp;auml;rmkontrollen, Aufflackernkontrollen und viel anderen Nutzen bewilligen.&lt;/p&gt;<br />&lt;/div&gt;</em></p>
<p style="padding-left: 30px">The language attribute can be added to most HTML elements  including  &lt;p&gt;, &lt;span&gt;, &lt;div&gt;, &lt;label&gt;.  An important exception to this rule … the &lt;body&gt; tag.  Instead of including the language attribute in the body tag, it should be included in the &lt;html&gt; tag, as discussed above, to specify primary language for a document.  Adding the language attribute to the &lt;div&gt; tag in the  example above renders only the text in this HTML element in German for all user agents.</p>
<h2><strong>Wrap Up</strong></h2>
<p><strong> </strong></p>
<p>Identifying the primary language is not only beneficial to users of adaptive technology; it is beneficial to all users. The language attribute helps to ensure that languages render correctly in any web browser. Additionally, search engines recognize the language attribute, which can help sort search results by language. Multiple language changes are supported without issue when the language attribute is used.  Using the language attribute adds little extra time to the development of a page. However, it makes a  big difference to users of adaptive technology, particularly for those who use  screen-reading software.</p>
]]></content:encoded>
			<wfw:commentRss>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-primary-language/12/2010/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web Accessibility Made Easy: Headings</title>
		<link>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-headings/10/2010</link>
		<comments>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-headings/10/2010#comments</comments>
		<pubDate>Fri, 15 Oct 2010 16:47:10 +0000</pubDate>
		<dc:creator>ATAC Web Accessibility Team</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://ittrainingtips.iu.edu/?p=1343</guid>
		<description><![CDATA[This entry in the “Web Accessibility Made Easy” series addresses the use of headings to add structure to the content of Web pages. Headings HTML headings have been part of the structure of an HTML document from the beginning.  The heading tags &#60;H1&#62; through &#60;H6&#62; are meant to give web documents structure. Therefore, headings should [...]]]></description>
				<content:encoded><![CDATA[<p>This entry in the “Web Accessibility Made Easy” series addresses the use of headings to add structure to the content of Web pages.</p>
<h2>Headings</h2>
<p>HTML headings have been part of the structure of an HTML document from the beginning.  The heading tags &lt;H1&gt; through &lt;H6&gt; are meant to give web documents structure. Therefore, headings should be properly nested to assign level of importance in the structure of the Web page.  <span id="more-1343"></span>Main topics of a Web page should be represented by &lt;h1&gt; tags.  Sub-topics should be represented by &lt;h2&gt; tags indicating a second level of importance in the structure of the document. The remaining &lt;h&gt; tags three through 6 are used to denote additional topics in descending order of importance.  Each level of HTML headings (&lt;h1&gt;-&lt;h6&gt;) has inherent CSS style rules applied by individual Web browsing software and which control the font size, font weight, padding and margins for each heading element.  Appearance of headings controlled by the inherent browser CSS can be over-ridden by CSS styles chosen by the Web developer.   This enables creation of web sites with specific design to the taste of the Web designer and the purpose of the Web site. However, a Web developer can add CSS style rules to heading tags so these headings fit his or her visual design.</p>
<p>Screen-reader users can discover document structure by creating lists of all the headings of each page of the Web site. The list of headings also enables screen-reader users to navigate around the Web page by selecting headings for topics in which they are interested. Screen-reader users commonly use keyboard commands to accomplish quick movement through a web site to desired content.</p>
<h2>Guideline</h2>
<p><strong>IU Web Accessibility Guidelines</strong></p>
<p style="padding-left: 30px">17.  Use heading elements to convey document structure and use them according to specification.</p>
<h2>Tutorial</h2>
<p>This tutorial illustrates both the right and wrong way to use headings on Web pages. To do this, the <a href="http://iuadapts.indiana.edu/webcourse/bad/Bad.html" target="_blank">bad example Web page</a>, the <a href="http://iuadapts.indiana.edu/webcourse/bad/Good2.html" target="_blank">good example Web page</a>, along with their associated style sheets will be used.</p>
<p style="padding-left: 30px">1.  The bad code – faking headings using visual styling</p>
<p style="padding-left: 30px">The code below is used to make the font of the text bigger and appear  to be  a heading to individuals who are can see. But coded in this manner, the document is given no structure and those visiting the page with screen readers cannot determine the relative importance of page elements/links. Appearance of the page could also be controlled by CSS style rules applied by the developer to control its visual appearance while additionally providing structure for the page.</p>
<p style="padding-left: 30px"><em>&lt;font size=&#8221;+4&#8243;&gt;Indiana University Web Accessibility Class:&lt;/font&gt;</em></p>
<p style="padding-left: 30px">2.  Adding the heading tags to replace the visual styling, &lt;font&gt; tag.</p>
<p style="padding-left: 30px">In this example above, the &lt;font&gt; tag is replaced with an &lt;h1&gt; tag.  As a result, the Web page now has more structure and is easier to navigate using screen-reading software.  If the developer chooses to code the heading style to match the bad example style above, they  create a CSS style declaration with CSS style rules (font-size: 36pt; and font-weight: normal;) and apply it to the &lt;h1&gt; tag. In fact, the &lt;font&gt; tag has been deprecated for XHTML.1.0 in favor of headings and style sheets.</p>
<p style="padding-left: 30px"><em>&lt;h1&gt; Indiana University Web Accessibility Class:&lt;/h1&gt;</em></p>
<p style="padding-left: 30px">CSS Style declaration:</p>
<p style="padding-left: 30px"><em>h1 {<br />font-size: 36pt;<br />font-weight: normal;<br />}</em></p>
<h2><strong>Wrap Up</strong></h2>
<p><strong> </strong></p>
<p>HTML Headings are a quick and easy way to improve the accessibility and navigability of a Web site for users of screen reading software, without impacting the visual design.  Unfortunately, headings do not offer explicit benefits to users who don’t use assistive technology. However, they do offer great benefits (structure, and ease of navigation for screen-reader users).</p>
]]></content:encoded>
			<wfw:commentRss>http://ittrainingtips.iu.edu/xhtml/web-accessibility-made-easy-headings/10/2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Accessibility Made Easy: I wish I could SKIP to the good stuff</title>
		<link>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-i-wish-i-could-skip-to-the-good-stuff/03/2010</link>
		<comments>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-i-wish-i-could-skip-to-the-good-stuff/03/2010#comments</comments>
		<pubDate>Tue, 23 Mar 2010 20:25:38 +0000</pubDate>
		<dc:creator>ATAC Web Accessibility Team</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://ittrainingtips.iu.edu/?p=375</guid>
		<description><![CDATA[This entry in the “Web Accessibility Made Easy” series will discuss something that is easy and quick to implement and can benefit all users. It is Skip Navigation links. Skip Navigation Skip Navigation is a same page or anchored link that can either skip past the navigation of a web site or can be used [...]]]></description>
				<content:encoded><![CDATA[<p> This entry in the “Web Accessibility Made Easy” series will discuss something that is easy and quick to implement and can benefit all users. It is Skip Navigation links. </p>
<h3>Skip Navigation</h3>
<p> Skip Navigation is a same page or anchored link that can either skip past the navigation of a web site or can be used to skip past any content to what would be considered the main content of the page. </p>
<p><span id="more-375"></span></p>
<p>A good example of this would be a Yahoo news story like the one in the image below. </p>
<p> <img src="http://www.indiana.edu/~iuadapts/webcourse/bad/skip_nav_image.jpg" alt="Yahoo.com news story on President Obama visiting Iraq" /> </p>
<p> As you can see, there are several navigation links &#8211; a link to related stores, some ads, and a lot of other  less relevant content &#8211; before you actually get to the text of the article. Normally, someone with perfect vision can skip to the text, but someone who is blind would have to navigate through all of that other content just to get to the actual story. This may not seem so bad for one page, but it would get very annoying if you had to view, say, 50 articles for a journalism class. That is where the skip navigation link comes in and allows a screen-reader user to skip right to the content &#8211; even if the skip navigation link is hidden using CSS. Many sites leave their skip navigation link visible for all to use, though. </p>
<h3>Guideline</h3>
<h4>IU Web Accessibility Guidelines</h4>
<p> 15. A method shall be provided that permits users to skip repetitive navigation links. </p>
<h3>Tutorial</h3>
<p> This tutorial will again be using the <a title="Bad example web page" href="http://iuadapts.indiana.edu/webcourse/bad/Bad.html">Bad example web page</a>, <a title="Good example web page" href="http://iuadapts.indiana.edu/webcourse/bad/Good2.html">Good example web page</a>, their associated style sheets and Dreamweaver. It is a very simple and straight forward tutorial. If you can create a link, you can create a skip navigation link. </p>
<h4>1. Add the link to the named anchor in the content</h4>
<p> <em>&lt;a href=&#8221;#content&#8221; class=&#8221;skipnav&#8221;&gt;Skip Navigation&lt;/a&gt;</em> </p>
<p> This step is very similar to creating a standard link. The only difference is that instead of a web address in the href attribute, we use a “#”, combined with an identifier &#8211; in this case “content.” This line of code should be one of the first lines after the start of the body. Finally, to hide the skip navigation link from non-screen-reader users, we use the style “auraltext” which is found below. The &#8220;:focus&#8221; CSS pseudo-class selector allows keyboard-only users to focus on the link. This ensures compliance with other web accessibility guidelines because the visual focus on the web page is never lost. </p>
<p> <em>.auraltext { <br /> position: absolute; <br /> font-size: 0; <br /> left: -1000px; <br /> } <br /> .auraltext:focus { <br /> position:relative; <br /> font-size:1.5em; <br /> left:2em; <br /> color:#FFFFFF; <br /> }</em> </p>
<h4>2. Add the named anchor</h4>
<p> <em>&lt;h2 id=&#8221;content&#8221; class=&#8221;auraltext&#8221;&gt;Main Content&lt;/h2&gt;</em> </p>
<p> Named anchors are elements on a page that are linked to by a link on the same web page. That is why they are commonly referred to as “same page links.” In this case, to make the named anchor even more accessible, it was made a heading. It was also hidden off the page using the style from the step above. Below is another acceptable way to do a named anchor, this time using the &lt;a&gt; tag: </p>
<p> <em>&lt;a name=&#8221;content&#8221; class=&#8221;auraltext&#8221;&gt;Main Content&lt;/a&gt;</em> </p>
<h4>3. That is how you do it! The page now has skip navigation. Try it out.</h4>
<p> When the link is clicked, (you may have to remove the style so you can see it) the page should move to the start of the content, not very far for the example page. </p>
<h3>Wrap Up</h3>
<p> Skip navigation links are a fast and simple way to make navigation for screen-reader users and non-screen-reader uses alike easier. You can do multiple skip navigation links if you have multiple frames or multiple areas of content you want to highlight. Just remember that each named anchor needs a unique title, e.g., content and content2. </p>
]]></content:encoded>
			<wfw:commentRss>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-i-wish-i-could-skip-to-the-good-stuff/03/2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Accessibility Made Easy: Abbreviations and Acronyms</title>
		<link>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-abbreviations-and-acronyms/08/2009</link>
		<comments>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-abbreviations-and-acronyms/08/2009#comments</comments>
		<pubDate>Mon, 17 Aug 2009 18:23:55 +0000</pubDate>
		<dc:creator>ATAC Web Accessibility Team</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://ittrainingtips.iu.edu/web-design/web-accessibility-made-easy-abbreviations-and-acronyms/08/2009</guid>
		<description><![CDATA[This blog post in the “Web Accessibility Made Easy” series explains expanding abbreviations and acronyms so that, for instance, all users know that ARIA means Accessible Rich Internet Applications and not Automated Robot Integration Assembly.]]></description>
				<content:encoded><![CDATA[<p>This entry in the “Web Accessibility Made Easy” series explains expanding abbreviations and acronyms so that, for instance, all users know that ARIA means Accessible Rich Internet Applications and not Automated Robot Integration Assembly.</p>
<h3>ABBR and ACRONYM Tags</h3>
<p>When web designers use the &lt;abbr&gt; or the &lt;acronym&gt; HTML tags, abbreviations and acronyms will be read as their full text. However, this is only true if the user has set their screen-reading software to do this. Web designers need to set the title attribute of the &lt;abbr&gt; or &lt;acronym&gt; tags to the actual meaning of the phrase. See code example below.</p>
<h4>Example:</h4>
<p><em>&lt;acronym title=&#8221;Web Content Accessibility Guidelines&#8221;&gt;WCAG&lt;/acronym&gt; </em></p>
<p>Using this method a web designer complies with the guideline below. However, as mentioned above this coding only provides the desired result if the screen reader user has set their preference (settings) to automatically voice the entire text of the acronym or abbreviation tags. Therefore, as is common writing practice, it is important that for the first use of a phrase which will subsequently be represented by an acronym or abbreviation, that the phrase be entirely spelled out and followed by the desired acronym or abbreviation in parenthesis (e.g., World Wide Web (WWW). For subsequent uses the acronym or abbreviation tag should be used. Then, for screen reader users who have set their preferences correctly, the entire phrase will be spoken.</p>
<h3>Guideline</h3>
<h4>IU Web Accessibility Guidelines</h4>
<p>2. Specify the expansion of abbreviations or acronyms where they first occur in a document.</p>
<p>This guideline requires that the first time an abbreviation is used, it is expanded. Common writing practice is that the first time a name or phrase is used for which an acronym will be used later, the words should be spelled out followed by the acronym in parenthesis. Web coding should employ this same practice. After the first instance, it is up to the web designer to decide whether to continue to use the &lt;abbr&gt; or &lt;acronym&gt; tags to expand the phrase.</p>
<h3>Tutorial</h3>
<p>This tutorial will again be using the <a title="Bad Example web page" href="http://iuadapts.indiana.edu/webcourse/bad/Bad.html">Bad example web page</a>, <a title="Good Excample web page" href="http://iuadapts.indiana.edu/webcourse/bad/Good2.html">Good example web page</a>, their associated stylesheets and Dreamweaver.</p>
<h4>1. The Bad Code – Acronyms not Expanded</h4>
<p><em>&lt;p&gt;Web accessibility standards have been developed by the W3C (http://www.w3c.org)&lt;/p&gt;</em></p>
<p>The code shown above will validate to the W3C standards. However, since this is the first instance of an acronym, it needs to be expanded.</p>
<h4>2. The Good Code &#8211; Acronyms Expanded</h4>
<h5>Example 1…First Instance of the use of a phrase for which an acronym will subsequently be used:</h5>
<p><em>&lt;p&gt;Web accessibility standards have been developed by the World Wide Web Consortium (W3C), http://www.w3c.org.&lt;/p&gt;</em></p>
<h5>Example 2….Use of the acronym tag for the second and all subsequent uses of the acronym:</h5>
<p><em>&lt;p&gt;Web accessibility standards have been developed by the &lt;acronym title= “World Wide Web Consortium” &gt;W3C&lt;/acronym&gt; (http://www.w3c.org)&lt;/p&gt;</em></p>
<p>Simply expanding the acronym physically in the text (example 1) or using the &lt;acronym&gt; tag in conjunction with the “title” attribute to expand the acronym (example 2) is all that needs to be changed to have the acronym display correctly to all users.</p>
<h4>3. All users will know understand the acronym</h4>
<p>That is it. Because the acronym has been expanded once, if a user cannot remember what it means they can refer back to the original expansion. Using the &lt;abbr&gt; or &lt;acronym&gt; tag is also beneficial because it can be used over and over again with minimal interruption to the visual design.</p>
<h3>Wrap Up</h3>
<p>Expanding abbreviations and acronyms not only helps users of assistive technology, it is beneficial to all users. With each new day in this age of the internet and text messaging, new acronyms and abbreviations are emerging. There are even online dictionaries of acronyms and abbreviations. So it is very important that web coders follow the suggestion above regarding the use of acronyms and abbreviations! Physically expanding abbreviations or using the &lt;acronym&gt; tag to expand an acronym adds very little time to the design and coding of a website. However, this practice contributes dramatically to the understanding of a web page.</p>
]]></content:encoded>
			<wfw:commentRss>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-abbreviations-and-acronyms/08/2009/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Web Accessibility Made Easy: Let&#8217;s Not Table This&#8230; Guidelines for Tables</title>
		<link>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-lets-not-table-this-guidelines-for-tables/06/2009</link>
		<comments>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-lets-not-table-this-guidelines-for-tables/06/2009#comments</comments>
		<pubDate>Wed, 03 Jun 2009 21:29:53 +0000</pubDate>
		<dc:creator>ATAC Web Accessibility Team</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://ittrainingtips.iu.edu/web-design/web-accessibility-made-easy-lets-not-table-this-guidelines-for-tables/06/2009</guid>
		<description><![CDATA[This entry in the “Web Accessibility Made Easy” series discusses two guidelines that are essential to well-formatted layout and design of data tables. Tables on the web have been around since the early days of the web. Okay…not the early, early days of the web, but tables were first discussed in 1996 (IETF RFC 1942) [...]]]></description>
				<content:encoded><![CDATA[<p>This entry in the “Web Accessibility Made Easy” series discusses two guidelines that are essential to well-formatted layout and design of data tables.  </p>
<p>Tables on the web have been around since the early days of the web.  Okay…not the early, early days of the web, but tables were first discussed in 1996 (<a href="http://http://tools.ietf.org/html/rfc1942">IETF RFC 1942</a>) and then later included in the HTML 3.2 specification.  This specification ensured that tables were the formalized way to display data from a spreadsheet or database.<br />
<span id="more-231"></span><br />
Unfortunately, tables soon became the primary way for web designers to layout the elements of an HTML page to create enhanced visual design.  Unfortunately, when pages are formatted this way they are linearized by screen-reading technology frequently making them difficult to understand because of the complexity of table-based layout.</p>
<p>This is not to say that tables are unimportant.  In fact, some data is best represented using tables. And today most screen-reading technology has scripts that try to differentiate between tables used for layout and tables used for tabular data.  Unfortunately these scripts aren’t perfect and sometimes still yield inaccessible results. Also, data appropriately represented in table format can be very complex, incorporating multiple rows and columns with spanning information. This makes accessible interpretation challenging if not impossible. Therefore, formatting tables according to accessibility guidelines is very important. </p>
<p>Making tables more accessible relies on two key elements: table headers and table summaries. Table headers are similar to regular headers because they provide clues about how the information is grouped. For example, header text in tables indicates to screen-reader users the data type contained in that column or row.  If the column header text says “Dog Breeds” the column will contain a list of breed types.</p>
<p>Also essential for screen readers are table summaries.  They provide an overview of the structure of the table which can be viewed prior to the user venturing into the table itself. In addition, users can quickly review table summaries if they get lost and need to reorient themselves.  </p>
<h3>Guidelines for Tables</h3>
<p>-Data tables will have well identified row and column headers and data cells will be clearly associated with row and column headings across logical levels.</p>
<p>-Markup shall be used to associate data cells and header cells for data tables that have two or more logical levels of row or column headers. This guideline is especially important for more complex table. </p>
<p>-Concise summaries of tables will be provided. </p>
<h3>Here are some tips for accessibly coding tables.</h3>
<p>First, here is a badly coded, inaccessible, simple table. This coding provides neither a table summary nor headings for rows or columns. </p>
<p><code>&lt;table width="800" border="1"&gt;<br />
  &lt;tr&gt;<br />
    &lt;td width="10"&gt;&nbsp;&lt;/td&gt;<br />
    &lt;td width="66"&gt;&lt;span class="style1"&gt;In 508&lt;/span&gt;&lt;/td&gt;<br />
    &lt;td width="109"&gt;&lt;span class="style1"&gt;in WCAG 1.0&lt;/span&gt;&lt;/td&gt;<br />
    &lt;td width="123"&gt;&lt;span class="style1"&gt;In WCAG 2.0&lt;/span&gt;&lt;/td&gt;<br />
     &lt;td width="458"&gt;&lt;span class="style1"&gt;Guideline&lt;/span&gt;&lt;/td&gt;<br />
  &lt;/tr&gt;<br />
  &lt;tr&gt;<br />
    &lt;td&gt;&lt;span class="style1"&gt;1&lt;/span&gt;&lt;/td&gt;<br />
    &lt;td&gt;a&lt;/td&gt;<br />
    &lt;td&gt;1.1&lt;/td&gt;<br />
    &lt;td&gt;1.1.1&lt;/td&gt;<br />
     &lt;td align="right"&gt;A text equivalent for every non-text element shall be provided (e.g., via &quot;alt&quot;, &quot;longdesc&quot;, or in element content). &lt;/td&gt;<br />
  &lt;/tr&gt;<br />
  &lt;tr&gt;<br />
    &lt;td class="style1"&gt;&lt;span class="style1"&gt;2&lt;/span&gt;&lt;/td&gt;<br />
    &lt;td&gt;d&lt;/td&gt;<br />
    &lt;td&gt;6.1&lt;/td&gt;<br />
    &lt;td&gt;1.3&lt;/td&gt;<br />
    &lt;td align="right"&gt;Documents shall be organized so they are readable without requiring an associated style sheet.&lt;/td&gt;<br />
  &lt;/tr&gt;<br />
  &lt;tr&gt;<br />
    &lt;td class="style1"&gt;&lt;span class="style1"&gt;3&lt;/span&gt;&lt;/td&gt;<br />
    &lt;td&gt;g&lt;/td&gt;<br />
    &lt;td&gt;5.1&lt;/td&gt;<br />
    &lt;td&gt;1.3&lt;/td&gt;<br />
    &lt;td align="right"&gt;Data tables will have well identified row and column headers and data cells will be clearly associated with row and column headings across logical levels. &lt;/td&gt;<br />
  &lt;/tr&gt;<br />
  &lt;tr&gt;<br />
    &lt;td class="style1"&gt;&lt;span class="style1"&gt;4&lt;/span&gt;&lt;/td&gt;<br />
    &lt;td&gt;h&lt;/td&gt;<br />
    &lt;td&gt;5.2&lt;/td&gt;<br />
    &lt;td&gt;1.3&lt;/td&gt;<br />
    &lt;td align="right"&gt;Need definition of logical levels. Markup shall be used to associate data cells and header cells for data tables that have two or more logical levels of row or column headers.&lt;/td&gt;<br />
  &lt;/tr&gt;<br />
&lt;/table&gt;</code></p>
<p>As you can see this table is not the most complex, but without table headers and a table summary, it will be difficult for someone using a screen-reader to understand. Here is how it can be fixed. </p>
<h3>1. Table summary coding example.</h3>
<p>The code below demonstrates how to create a concise table summary which is functions as a roadmap for the table. </p>
<p><code>&lt;table border="1" summary="This table contains a sampling of the web accessibility guidelines and shows how each set of guidelines parallels the other.  The first column is the number of the item. The second column is the section 508 guideline designation. The third column is the WCAG 1.0 guideline designation.  The fourth column is the WCAG 2.0 guideline designation. The fifth column is the guideline itself."&gt;</code></p>
<p>The table summary is an attribute of the <code>&lt;table</code>&gt; tag.  The best practice for a table summary is to first describe the contents of the table in general.  Then describe the data that is found in each column and row of the table.  Because the example table is not very complex, the row descriptions are left out of the summary.</p>
<h3>2. Adding the column headers.</h3>
<p>The following is an example of coding for column headers.</p>
<p><code>&lt;tr&gt;<br />
          &lt;th width="7"&gt;#&lt;/th&gt;<br />
          &lt;th width="46"&gt;In 508&lt;sup&gt;&lt;a href="#1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/th&gt;<br />
          &lt;th width="79"&gt;In WCAG&lt;sup&gt;&lt;a href="#2"&gt;2&lt;/a&gt;&lt;/sup&gt; 1.0&lt;/th&gt;<br />
          &lt;th width="81"&gt;In WCAG&lt;sup&gt;&lt;a href="#3"&gt;2&lt;/a&gt;&lt;/sup&gt; 2.0&lt;/th&gt;<br />
          &lt;td align="center" width="355"&gt;Guideline&lt;/td&gt;<br />
    &lt;/tr&gt;</code></p>
<p>To add column headers, simply change the <code>&lt;td</code>&gt; tag, which defines a standard table cell, into a <code>&lt;th</code>&gt; tag which makes it a table heading tag.  Be sure to change the closing tag as well to maintain valid HTML. The table header coding above includes width specifiications so the table will be appropriately displayed for those accessing it visually.  </p>
<h3>3. Adding row headers.</h3>
<p>The following is an example of coding for adding row headers.</p>
<p><code>&lt;tr&gt;<br />
          &lt;th&gt;1&lt;/th&gt;<br />
          &lt;td&gt;a&lt;/td&gt;<br />
          &lt;td&gt;1.1&lt;/td&gt;<br />
          &lt;td&gt;1.1.1&lt;/td&gt;<br />
          &lt;td align="right"&gt;A text equivalent for every non-text element shall be provided (e.g., via &quot;alt&quot;, &quot;longdesc&quot;, or in element content). &lt;/td&gt;<br />
        &lt;/tr&gt;</code></p>
<p>After adding column headers, add headers for each row.  For the example table, change only the first &lt;td</code>&gt; tag as the subsequent cells in the row contain data.  Row headers are not necessarily needed for all tables, but it never hurts to include them.</p>
<p>This is all you need to do to create accessible data tables.  Those accessing the table visually will hardly notice a difference; those using screen readers will actually be able to access and understand the tabular data. </p>
<h3>Wrap Up</h3>
<p>Tables were the primary tool for web page layout in the early days of the web. Today there are much better ways to design and control page layout and presentation. However, tables retain great value for presentation of data best provided in tabular format.  Making tables accessible takes little time and requires minimal change to the code. And, most importantly, properly coded tables are understandable to screen reader users.  Furthermore, if stylesheets are used, the visual look of the table remains the same. </p>
]]></content:encoded>
			<wfw:commentRss>http://ittrainingtips.iu.edu/accessibility/web-accessibility-made-easy-lets-not-table-this-guidelines-for-tables/06/2009/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
