|
IntroductionThis guide is intended as an introduction to both accessible and usable web design for those in the OSU community planning to build a first site or considering a revision of an existing web site. It seeks to bring together the best techniques and standards for accessible design, typically found in a variety of resources and explain, in plain language, how web designers can implement these guidelines, in most cases, using simple HTML solutions. Whenever possible, guidelines are followed with real-life examples and include code-snippets for easier understanding. The guidelines and suggestions presented here are adapted from several sources and cover OSU requirements for accessible web design as established by the OSU Web Accessibility Policies and Standards and based on Section 508 of the Federal Rehabilitation Act, as well as recommendations based on the World Wide Web Consortium's Web Content Accessibility Guidelines, and usability standards supported by industry experts Jacob Nielsen and Vincent Flanders. For more information about the guidelines referenced, including a key to the guideline symbols, see the About the Guidelines section at the end of this tutorial. About the WACThe OSU Web Accessibility Center (WAC) analyzes web pages for their accessibility to people with disabilities. The WAC offers this as a free service to OSU faculty and staff in order to further its mission to expand opportunities for people with disabilities through the innovative uses of computer technology. The WAC's goal is to ensure that all distance education and online courses at OSU are fully accessible to persons with disabilities. After you have reviewed this tutorial, if you would like to have your web site analyzed, submit your request online for a WAC Site Review. The WAC will report any accessibility and/or browser compatibility errors found on the page. Once your site receives WAC approval, you are entitled to display a WAC approved icon on your site. To receive a copy of this tutorial in an alternate format, please contact the WAC at (614) 292-1760 or email us: webaccess@osu.edu. Contents
Organizing and Naming Your SiteSite Structure || Organizing Files and Folders || Site StructureWeb sites consist of a collection of files. These files may or may not be organized within a directory structure of folders. The location of files in the web site corresponds with the URL. Consider this Sample site: Within the site, there are two files (web pages): tutorial1.htm and tutorial2.htm. Let's say that this web site is stored on a server located at http://www.sample.edu. In order to reach the tutorial1 page, we would have to go to: http://www.sample.edu/resources/presentations/sectionone/tutorial1.htm. Yet, if we wanted to visit the tutorial2 page, we would only need to go to: http://www.sample.edu/tutorials/tutorial2.htm. This is because each folder within a site is represented by the folder name and a slash (/) in the URL of the corresponding web address. The address to the tutorial1 page is also called a "deep link" because it directs the visitor several levels into the web site. Deep links can be useful for pages you don't intend visitor's to arrive at directly (when you want to control the order in which visitor's view pages). However, because they result in long URLs that are difficult to remember, they should be used sparingly for information that will be regularly accessed or expect to be a high-traffic page. Shorter URLs are easier to advertise (better for you) and easier to remember (better for your users). Organizing Files and Folders.While it is not a good idea to have too many levels (embedded folders) within your site, it is also not a good idea, unless you have a very simple site, to have no folders. Here is an example of a site with no organizing structure:
Because the site is small, it is not difficult to distinguish between the pages (.htm) and the images (.gif). But sites can grow quickly:
Note that all the training-related pages are in the "training" folder and only five pages reside in the top-level of the site: default, links, mission, stafflist, and suggestions.
Default and Index Pages
For example, let's consider again the sample site from “Site Structure” above. There is no default or index page in the "sectionone" folder. This URL will work: http://www.sample.edu/resources/presentations/sectionone/tutorial1.htm. This URL will not: http://www.sample.edu/resources/presentations/sectionone Depending on the server settings, the user who types the second URL will see a "File Not Found" message or a plain-text display of an alphabetical list of all the files in that folder -- without indication of which page the user should look at first. However, if we copy and rename tutorial1.htm to default.htm or index.htm, both URLs will work. Thus, it is good design practice to name one file in each folder within the site either default or index. Note: if you have a folder with both a default and an index page, the browser will display the default page. Naming ConventionsFor best results across various servers and with different browsers, when naming files and folders within your web site:
LayoutOrganization | Using Style Sheets for Consistency | Organization.
To optimize the usability of your site: pick a place for stable and repeating elements, such as logos, navigation bars, and even the bulk of the content, and keep them there. For instance, the WAC site uses the same basic layout for each page: search box at the top, home page link at the top-left, navigation on the left, and content on the right. Here's a sample (from the WAC Links page): However, certain pages in our site, like those in this tutorial, move the logo and navigation to the top of the page. This design is used for pages that contain a lot of information and we expect users might want to print out and save for later. The top-heavy design allows more room for text on the page and reduces the number of printed pages. Here is an example of this layout (from the How and Why Guide): Using Style Sheets for ConsistencyIf used properly, Cascading Style Sheets (CSS) can help you create a uniform "look" for your site by defining font type, colors, and backgrounds site-wide. For more information, see the Style Sheets section in this guide. Standard Page Elements.As the Web has developed, users have come to expect certain elements on every web page they visit. Including these elements in the expected locations helps users quickly get the "lay of the land" whether they arrive at your stunning home page or via a "deep link" somewhere deep within the structure of your site. Include on every page:
Here is the HTML code used to create this search box. Simply change the URL information to your own site location:
For more information on navigation guidelines, see the WAI's Web Content Accessibility Guidelines 1.0 . Setting Header InformationEvery web page in your site should contain standard header information that identifies the version of HTML used to create the page and the primary language, as well as gives a page title, a summary of the page and provides key words for easier searching. DOCTYPE Declaration || Language Declaration || DOCTYPE Declaration.
Example: Doctype is short for "document type declaration" (or DTD). Any (X)HTML Web page needs to define a Doctype : it is used to declare which version of (X)HTML the Web page conforms to. It appears as the first line of code on a web page, before the <html> tag. To find your correct DOCTYPE declaration, see the WAI's list of valid DTDs you can use in your document. Some web editors, like Dreamweaver, allow you to define what DTD you want to use to validate your code and then automatically includes the appropriate DOCTYPE declaration in each new file. Why Declare a DOCTYPE?In general the overall accessibility of any web page will be improved if you adhere to the standards for the web-presentation language you are using. The major reason for this is that most developers of assistive technology or accessible web technology have based their accessibility features on the premise that content authors are following the standards. In addition, most web browsers will more or less follow the published standards. Writing the "cleanest" code possible should ensure your pages will look best across the widest range of web display technology. If your coding meets the requirements of a particular grammar, use the DOCTYPE statement as the first line of your HTML file. For example, the following DOCTYPE statement would indicate to servers, browsers and validators that you expect your code to conform to the HTML 4.0 Transitional standard: For more information on this guideline, see the WAI's Web Content Accessibility Guidelines 1.0 .Adapted from: WAI -- "Example for Checkpoint 3.2 - Create documents that validate to published formal grammars". Language Declaration.
Example: lang = language-code [CI] Two-letter primary codes are reserved for [ISO639] language abbreviations. Two-letter codes include fr (French), de (German), it (Italian), nl (Dutch), el (Greek), es (Spanish), pt (Portuguese), ar (Arabic), he (Hebrew), ru (Russian), zh (Chinese), ja (Japanese), hi (Hindi), ur (Urdu), and sa (Sanskrit). For a complete list of available language codes, see the WAI's ISO 639 Language Codes or the OASIS CoverPages Code for the Representation of the Names of Languages. From ISO 639, revised 1989. Why Declare a Primary Language?The language declaration is an attribute that defines the HTML tag. Language information specified via the lang attribute may be used by a browser to control display in a variety of ways. Some situations where author-supplied language information may be helpful include:
For more information on language declaration, see the WAI's Web Content Accessibility Guidelines 1.0 . Title.
Example: The TITLE tag appears within the <head></head> tag in your document. There may only be one title in any document. It should identify the content of the document in a fairly wide context. The title is not part of the text of the document, but is a property of the whole document. It may not contain anchors, paragraph marks, or highlighting. It is not normally displayed in the text of a document itself. The title should ideally be less than 64 characters in length. That is, many applications will display document titles in window titles, menus, etc where there is only limited room. Whilst there is no limit on the length of a title (as it may be automatically generated from other data), it may be truncated if long. Why Use a Title?Titles are used in:
The title appears in the window of the browser and is also used in tracking the HISTORY (BACK button) of where the user has been. It can be particularly helpful when a user has multiple windows open, if it uniquely identifies each page. For example, here is a sample of a Windows status bar with multiple pages open from a site that does not use page titles: Which of these “Untitled Documents” has the information you want to return to? Keep in mind, too, most screen-readers read the title as a means of orienting users as they move through different windows. Quick Tip: Be sure to use descriptive titles. "Section One" won't help much when it shows up in a search results list. Section one of what?. Better: For more information on designing good titles, see the W3C's Style Guide: Title. META-description.Example: META tags appear within the <head></head> tags in your documents. Why Use the META-description?Some search engines pick up this description to show with the results of searches, instead of showing the first few of lines of the page as the summary. Thus, a description can help users identify the content of your pages when searching, especially when the first lines of your pages consist of repeated content or menus. You can define your own search fields with HTML meta tags. These fields can be searched using Infoseek's field syntax. Suppose your page contains:
author:Shakespeare META-keywords.Example: META tags appear within the <head></head> tags in your documents. Why Use the META-keywords?A common use for META is to specify keywords that a search engine may use to improve the quality of search results. When several META elements provide language-dependent information about a document, search engines may filter on the lang attribute to display search results using the language preferences of the user. For example,
NavigationFunction of Navigation | Skip Navigation Link |Using Pop-up Windows|Repeating Link Text|Plug-in Links| Using Image Navigation | Mystery Meat Navigation | Link Order | Keyboard Shortcuts
Understanding the Function of NavigationThe Web offers users multiple entry points to sites, as well as multiple navigation paths within sites. Users may enter your site through the "front door" (home page), or a search engine may lead them straight to a page within the site. Users also bring with them different levels of Internet competency, different languages and cultural backgrounds, and different mental models of finding information (some may prefer to browse, some to search, while others like to go straight to an index). Consistent, predictable navigation will help every user make the most of your site. Following is a list of things to keep in mind when establishing guidelines related to navigation:
Adapted from: "Visual Design and Navigation Guidelines" By Ann Tothill, Association for Progressive Communications (APC) May 2001. Using Pop-up Windows
Links that open in new windows can be extremely disorienting to users of assistive technology. These links break the "BACK" and "HISTORY" list. Screen readers may or may not indicate a new window has opened, causing links to appear "dead" -- e.g., nothing appears to happen when the link is activated because new window opens without notice. Carefully consider when to use links that open in new windows. Generally, there is little advantage to forcing users to keep your site in an open window unless you are certain they will need to return to your site after viewing other pages (e.g. when leaving a form to get more information on required inputs, users may then be expected to return to the form page without the form being reloaded and entered data being cleared). Identify any links that open in a new window using a referenced symbol or plain text. Example: Find out more information about this topic*. Skip Navigation Link
Web developers routinely place a host of routine navigational links at a standard location – often across the top, bottom, or side of a page. If a nondisabled user returns to a web page and knows that he or she wants to view the contents of that particular page instead of selecting a navigation link to go to another page, he or she may simply look past the links and begin reading wherever the desired text is located. For those who use screen readers or other types of assistive technologies, however, it can be a tedious and time-consuming chore to wait for the assistive technology to work through and announce each of the standard navigational links before getting to the intended location. Because the "skip navigation" link is designed to be used primarily by screen-readers, it does not need to be located in a prominent or even visible part of the page. It should, however, appear as close to the start of the page as possible, right after the BODY tag. Here is how the link appears in HTML code: Skip navigation link: For more ideas on how to setup your skip navigation link, see the WAC 508 Tutorial: Skip Navigation. Using Image Navigation.Several year's ago, a trend began to make image-based navigation with navigation "buttons." Here is an example of image navigation: Each box in the above navigation bar is an image with an associated link. With the addition of ALT tags, navigation based on images can still be accessible. However, something else to consider when using text in a graphic: some users with low vision use programs that enlarge the elements on their screen so that they can more easily see them. Unfortunately, when the text in an image is enlarged it often becomes pixilated and difficult to read. For example, take a look at the Department of Molecular Genetics home page (opens in new window). If you increase the text size of the view (use View, Text Size in Internet Explorer or View, Text Zoom in Netscape Navigator), the text in the menu does not increase. This is because this is an image navigation -- each entry in the menu is a As a general design rule, avoid using images to represent text. Instead, format menu text using a style sheet.
Repeating Link TextLink text should be different for each target. Use link text that makes sense in a list. Identify Plug-in LinksIdentify "plug-in" links: PDS, DOCs, Movies, Audio. Mystery Meat NavigationWhile there are ways to make image navigation accessible (e.g., using ALT tags), web designers have moved to an even more disturbing trend -- Mystery Meat Navigation. Notably, Mystery Meat Navigation represents a greater problem for sighted users than blind users. Here is an example of this problematic navigation technique: There are eight links in this navigation bar, yet, it is unclear where any of them go. Only the home page link, represented by an image of a house, is a somewhat universally recognized link symbol. But where does the arrow-up lead to? How about little man running? Or the open book? Not only will users have to guess where the information they want is, returning visitor's will have to play a version of the memory game to remember which images they clicked on before. Vincent Flanders' site Web Pages That Suck offers an excellent overview to the problems of Mystery Meat Navigation, along with some examples from current sites. You can avoid the problems of Mystery Meat Navigation by following these simple guidelines: 1. Do not use images for menu items, or, if you must use images for menu items: 2. Provide visible captions to menu images, 3. Provide detailed ALT tags to menu images, and 4. Indicate visited and non-visited links in menus. Link Order.
When a user uses the TAB button to scroll through the links on a page, the page is usually followed left to right, top to bottom. While this read-order may work well for most navigation schemes, some become confusing. Here is an example of navigation table:
If tab order is not specified, the links will be highlighted left to right -- "Registration," "Meetings", "Schedule" -- rather than up and down. To change this, you must set the tabindex attribute in the link element. Example:
Note: If you use the tabindex attribute, it is important to set the tabindex for all links and elements on the page. Keyboard Shortcuts.
Keyboard access to active elements of a page is important for many users who cannot use a pointing device. Some assistive technology software may include features that allow users to bind keyboard strokes to certain actions. HTML 4.01 allows content developers to specify keyboard shortcuts in documents via the "accesskey" attribute. In general, it is a good idea to add "accesskey" options to frequently used elements, such as navigation links, as well as any element other than links that might otherwise require the use of a mouse click (such as the SEND button on a form). The WAC uses access keys for our navigation menus. Here is a sample of our HTML code:
Scripts and Plug-insUsing Scripts:
When pages utilize scripting languages to display content, or to create interface elements, the information provided by the script shall be identified with functional text that can be read by assistive technology. Javascript is one of the most popular scripting languages for web development. In addition to libraries of Javascript code available online, two of the most popular web development tools, FrontPage and Dreamweaver, include easy-to-access code snippets that add little "extras" to web pages. Developers should use caution when deciding to include Javascript or other scripting elements on their pages. Here are a few of the most popular uses for Javascript and some of the accessibility issues to consider:
For more information on accessibility issues when using Javascript, see:
When a web page requires that an applet, plug-in or other application be present on the client system to interpret page content, the page must provide a link to a plug-in or applet that complies with §1194.21(a) through (l). While most web browsers can easily read HTML and display it to the user, several private companies have developed proprietary file formats for transmitting and displaying special content, such as multimedia or very precisely defined documents. Because these file formats are proprietary, web browsers cannot ordinarily display them. To make it possible for these files to be viewed by web browsers, add-on programs or "plug-ins" can be downloaded and installed on the user's computer that will make it possible for their web browsers to display or play the content of the files. This provision requires that web pages that provide content such as Real Audio or PDF (Adobe Acrobat's Portable Document Format) files also provide a link to a plug-in that will meet the software provisions. It is very common for a web page to provide links to needed plug-ins. For example, web pages containing Real Audio almost always have a link to a source for the necessary player. This provision places a responsibility on the web page author to know that a compliant application exists, before requiring a plug-in. Here is an example from the WAC's links page: Training Video on PDF Accessibility from AccessIT (requires Windows Media Player): “PDF Accessibility” a presentation by Terry Thompson, Technology Specialist with AccessIT, offers detailed help with evaluating PDF files for accessibility and creating accessible PDF using MS Word and Adobe Acrobat plug-ins. WAC provides a link to the streaming video file, and a link to the Windows Media Player download page, to allow users who don't have the WMP plug-in installed to access video. WAC also provides a link to the home page of AccessIT, in case the video file moves or is offered in other formats on the host site. Using Time Out Scripts .
When a timed response is required, the user shall be alerted and given sufficient time to indicate more time is required. Web pages can be designed with scripts so that the web page disappears or "expires" if a response is not received within a specified amount of time. Sometimes, this technique is used for security reasons or to reduce the demands on the computer serving the web pages. Someone's disability can have a direct impact on the speed with which he or she can read, move around, or fill in a web form. For instance, someone with extremely low vision may be a slower-than-average reader. A page may "time out" before he is able to finish reading it. Many forms, when they "time out" automatically, also delete whatever data has been entered. The result is that someone with a disability who is slow to enter data cannot complete the form. For this reason, when a timed response is required, the user shall be alerted via a prompt and given sufficient time to indicate whether additional time is needed ColorColor used for layout.
How does colored text affect the blind or the visually impaired? What happens to color-relayed information when presented on a monochrome monitor, printed from a black and white printer, read by someone who is color blind or read by a screen reader? The color-coded information is lost. EXAMPLE: "Here is a list of questions from the final. The items in RED are mandatory for an A in the class; the items in BLACK are provided for extra credit. What is the name of the course? Ensure that text and graphics convey the correct meaning when viewed without color. The above information, when restated, will convey importance to those unable to utilize color while still using color as visual clues for the visual user. "Here is a list of questions from the final. The first 2 items are mandatory for an A in the class; items 3 and 4 are provided for extra credit. 1. What is the name of the course? Color is used, however the information is conveyed in a way that relays the importance and layout with dependence on color. Contrast Colors.
Background color and text color should have the highest contrast. Persons with low vision, monochrome monitors or learning disabilities (and those who don't want to strain their eyes) will be unable to view your text if it is not easily read. Lighthouse International has excellent information on the use of high-contrast colors and useful guidelines on legible text.
Test your pages by printing them or by setting your browser to black, white and a few shades of gray. If the information is readable, contrast is good and the information conveyed without color then the text and color layout of the page is good. Cascading Style SheetsUsing Style Sheets for Consistency || Linked v Embedded Styles || Guidelines for Style Sheets || Using Relative Sizes || Color and Links || Spacing and Positioning Using Style Sheets for Consistency.
If used properly, Cascading Style Sheets (CSS) can help you create a uniform "look" for your site by defining font type, colors, and backgrounds site-wide. The design benefits of using Cascading Style Sheets include:
Linked v Embedded Styles.
Style sheets can be employed using either embedded styles, where the style definitions are inserted between the HEAD element on each page, or linked styles, where a CSS file is created and linked to the pages using those styles. Embedded Styles.Here is an example of how to create embedded styles:
Embedded styles look and work just like a linked style. However, it is more difficult to keep the site consistent, because changes to one style class must be changed on each page of the site. Also, embedded styles are more likely to override user preferences in the browser. Linked Styles.Using linked styles involves two steps. First, you must create your styles in a separate CSS file (designated by using the .css extension in your file name -- e.g., wacstyles.css, mystyles.css, prettytext.css). CSS files can be created using a wizard in your web editor (e.g. Dreamweaver or FrontPage) or you can create it in a plain text editor, like NotePad. The style definitions look the same as the embedded styles. p { Next, you must link the CSS file to each of your pages using this style. Let's say this file is called "mystyles.css." In order to link this style sheet to a particular page in your site, your HTML would look like this:
By using the link method, changes made to styles in the mystyles.css file will update all the linked pages in the site, without changing any of the code in those pages. This is particularly helpful when changing the color scheme of a site and helps insure a consistent look across pages. Guidelines for Using Style Sheets.
Specifically covered within this guideline: 1. Use the CSS 'font' property instead of the HTML FONT element to control font styles. -- WCAG CSS Techniques #8 Text Formatting and Position.
Rationale: Unlike CSS formatting the FONT element in HTML is more likely to override user-selected formatting in the browser. For instance, if the FONT element is used to set the size of text on a page, the user cannot use the magnification settings in the VIEW menus of either Internet Explorer or Netscape Navigator to increase the text size. 2. Do not use incorrect HTML elements for formatting (e.g., using BLOCKQUOTE to indent, rather than creating an indent style) -- WCAG CSS Techniques #8 Text Formatting and Position.
Rationale: Special HTML elements were created to identify special text and help assistive technology fully render the meaning of the text. For instance, whenever text is surrounded by the BLOCKQUOTE tag, JAWS screen-reader identifies the text as a “quote.” Consider then, how JAWS would render this text: <p> I want you to focus on the text below, so I’m going to indent it: JAWS would read this text as: If much of the text on the page is indented in this fashion, you can image how annoying this technique can become for users of assistive technology. 3. Use style sheets to style text rather than representing text in images.-- WCAG CSS Techniques #7 Text Instead of Images.
Rationale: Text represented in images cannot be enlarged using built-in magnification tools in most browsers. And, if image-text is magnified, it typically becomes pixilated and unreadable. CSS formatted text will transform gracefully, regardless of the users screen or window resolution. Using Relative Sizes.
The goal of CSS is to make pages that transform gracefully regardless of users screen-size, resolution, or magnification. When designers set font and element sizes to absolute values, text and elements on the page cannot not “resize” to fit the needs of the user. Relative sizes create a relational system of size. For instance, if Header 2 text is set to be bigger than paragraph text and Header 1 text is set to be bigger than Header 2 text, the user can set the paragraph text to whatever size (i.e., 12 point, 14 point, or 20 point) and both the Heading 1 and Heading 2 text will increase in relation to that size. In the same way, defining the menu section of a page to take up 30% of the page and content 70%, versus 150 pixel width menu and 650 pixel width content, insures that users with smaller screens and lower resolutions will still see a page that is primarily content. 1. Use the "em" unit to set font sizes. Named after the letter "M", the em unit has a long-standing tradition in typography where it has been used to measure horizontal widths. For example, the long dash often found in American texts (--) is known as "em-dash" since it historically has had the same width as the letter "M". Its narrower cousin (-), often found in European texts is similarly referred to as "en-dash". In CSS, the em unit is a general unit for measuring lengths, for example page margins and padding around elements. You can use it both horizontally and vertically. 1 em unit equates to a 10 point font. Here is an example of a style defined using em: H1 { font-size: 2em } For more information on using the em unit of measure, see W3C's The amazing em unit and other best practices. 2. Use relative length units and percentages. CSS allows you to use relative units even in absolute positioning. Thus, you may position an image to be offset by "3em" from the top of its containing element. This is a fixed distance, but is relative to the current font size, so it scales nicely. Color and Links.Most web browsers use different colors to identify visited links (links to pages the user has seen before) and unvisited links (links to pages the user has not seen before). The generally accepted standard typically displays unvisited links in blue and visited links in either purple or red. In most cases, it is best to use this standardized color scheme to identify links on your pages. When non-standard link colors are used, users lose the ability to quickly identify which parts of the site they have already seen and which parts they have yet to visit. If you must change use an alternate color scheme for your links, consider using a close variation on the blue/purple standard. Otherwise, help make it clear to visitors which is which by using a dark/strong color for unvisited links and lighter/faded color for visited links. In this way, you de-emphasize visited links – places where visitors already know about and possibly did not find the information they were looking for. Use these CSS properties to specify colors:
Spacing and Positioning.Spacing and positioning continues to be a difficult probelm for those conscious of accessibility issues. many users have developed strategies for adding spaces and indents,such as manually entering spaces ( ) or incorrectly using the BLOCKQUOTE tag, that creates an acceptable visual result, but also makes for less-accessible content. Creating and applying appropriate CSS definitions can help avoid this problem. Use CSS properties to create space between elements, words, and letters:
Creating User-Friendly Style Sheets.
One of the accessibility advantages to using style sheets is the option for the user to either override your style sheet with his/her own or to turn-off style sheets altogether and render the page in settings established by the user in the browser. Thus, the user can turn off color, change the default color scheme to increase contrast, or even change the font type and size to a more readable setting. To insure your site can accommodate these user preferences, you need to test your site both with and without style sheets. When style sheets are removed does all the text appear in the correct order on the page? Does the page maintain its hierarchy with headings indicating the structure of the document? Do the default colors interfere with the readability of the text? Developers should pay special attention when using CSS to create content, such as background images, lists, or content properties and when using CSS for layout. It should also be noted that most of these CSS techniques are not yet fully supported by browser technology. Be sure to test any CSS2 techniques in multiple browsers and versions. Lists
Lists offer particular advantages for users of assistive technology when interpreting the organization of information. In particular, lists help group like and related information together and provide information on the extent and relationship of information. For instance, when JAWS encounters a bulleted list, it will read “List of X entries” (where X=the number of bullets in the list) before reading the items in the list. Lists become problematic when used improperly; in particular, when used for formatting, when the format or organizational structure is indecipherable, when the list includes inaccessible or annoying elements, such as repeating spaces, graphic bullets, and too many “filler” characters used for aesthetic purposes only (e.g., à entry 1 || à entry 2, etc.). To avoid these list pitfalls, be sure to follow these list guidelines: 1. Do not use incorrect HTML elements for formatting. The HTML list elements DL, UL, and OL should only be used to create lists, not for formatting effects such as indentation Formatting should be done using style sheets. 2. For numbered lists, use compound numbers whenever possible. Thus, a list numbered "1, 1.1, 1.2, 1.2.1, 1.3, 2, 2.1," provides more context than the same list without compound numbers, which might be formatted as follows: 1. 1. 2. 1. 2. 3. 2. 1. and would be spoken as "1, 1, 2, 1, 2, 3, 2, 1", conveying no information about list depth. 3. Use style sheets to change list bullets. Avoid using images as bullets in definition lists created with DL, DT, and DD. However, if this method is used, be sure to provide a text equivalent (ALT tag) for the images. Images and MultimediaText Equivalents || Captioning Multimedia || Flicker || Text-only Sites Text Equivalents for Images, Media, and Scripts
Non-text elements include: images, graphical representations of text (including symbols), image map regions, animations (e.g., animated GIFs), applets and programmatic objects, ascii art, frames, scripts, images used as list bullets, spacers, graphical buttons, sounds (played with or without user interaction), stand-alone audio files, audio tracks of video, and video Sample Code: Image without alternate description: Image with alternate description: Put your mouse over each image to see the difference. Alternate descriptions are read by screen-readers and appear when an image is unavailable from the server or when the user chooses to "turn-off" or "hide" images in his/her browser. Caption or LONGDESC?Keep in mind, for simple content, a text equivalent may need only describe the function or purpose of content. For complex content (charts, graphs, etc.), the text equivalent may need to be longer and include descriptive information. The LONGDESC attribute is designed for these situations. However, the attribute is not yet fully supported by screen-reader technology. Code Example for Above:
LONGDESC and the D-LINKSince the LONGDESC attribute is not yet fully supported, the WAC recommends including necessary long descriptions in the form of a caption that appears above or below the image. However, sometimes it will be necessary to provide more detailed information than even a caption allows. If this is the case, you will need to use the LONGDESC method. If you do decide to use the LONGDESC option, WCAG standards require you also use a corresponding D-link. Here's how it works: First, you create a separate HTML page that includes the long description or explanation of the image or object. Next, you link the image to that description in the LONGDESC attribute of the <IMG> element. Finally, you create a text link immediately following (to the right) of the image or object and the link text should read "d". Here is an example:
The cartoon above has a simple, short ALT tag and includes a link, both in the LONGDESC attribute and the D-link, to a more detailed description of what is happening in this cartoon. Hint: click on the "d" to read the long description. Here is the code used to insert this image and d-link:
The potential problem with D-links is that using mulitple links on a page creates repeated link text that leads to different locations (an accessibility no-no). One way to address this issue is to number mutiple D-links (e.g., d1, d2, d3, etc.). As browsers develop more LONGDESC support, it will no longer be necessary to include the D-link as well. Spacer Images.Web page authors often utilize transparent graphics for spacing. Adding a text description to these elements will produce unnecessary clutter for users of screen readers. For such graphics, an empty ALT attribute is useful. Example of source code: Empty ALT tags can also be used for images and graphics that are purely aesthetic, such as graphic dividers, borders, and lines. Testing for ALT tags.To test your ALT tags, using Internet Explorer, go to the TOOLS menu and click on "Internet Options." Click on the "Advanced" tab and scroll down to the "Show Pictures" check box. Uncheck the box, close the dialog and reload your page. Do all of your image placeholders have ALT tags? Captioning Multimedia
Two important elements of captioning are included in these guidelines: synchronization and auditory descriptions. Synchronization insures that hearing-impaired users see the images associated with the caption. For instance, a video of a professor discussing a particular piece of art work shows the correct frame of the art as the professor draws attention to each element. Auditory descriptions provide visually-impaired users descriptions of key elements in the visual track. For example, if the professor says "Don't these two look like they are having fun?" and the image being shown is a picture of two crying children, the caption would describe the picture to make the meaning clear. Also captioned would be other key visual elements including actions, settings, body language, and displayed text. Synchronization also applies to auditory descriptions. Descriptions should not interfere with the audio or dialogue of a movie or presentation. Example.Caption for professor's lecture. Flicker
While flashing and flickering elements often appeal to web designers to draw attention to information, changes and updates, or just to add aesthetic value, returning users and those who endure repeated loops of movement while trying to access needed information will quickly tire of your pages. In addition, causing a page or elements on a page to flash or flicker can have serious effects on users with epilepsy and light sensitivity. Flashing and moving graphics can also be extremely distracting and just plain annoying to other users. Here is an example of a page with too many flickering elements: North Royalton Police Department (archive) . [Note: this page is an archive from February 2003. Visit the updated and much improved site and note the difference: North Royalton Police Department (current)]. If you must include flashing or flickering elements on your page, be sure animation changes at a slow enough rate to avoid injury to your visitors. Also, consider timing-out animated elements, so elements stop moving after a certain number of seconds or a specified number of animation loops. Providing Equivalent Versions.
OSU Minimum Standards for Web Accessibility require that text-only or other accessible alternate versions of your primary site remain current with primary site. You must have a system in place to insure content of alternate versions is updated as frequently (preferably Thus, when using the text-only alternative, the WAC recommends using auto-update software, like LIFT Text Transcoder, which creates a server-generated text-only version on demand. Other database solutions are also possible with simple PHP or ColdFusion coding. Keep in mind, OSU Minimum Standards for Web Accessibility and Section 508 require that an accessible alternative version of your site be used ONLY IF you are unable to make your primary site meet the standards. Text-only or alternative versions should be seen as last resort options and not the lazy-coder’s solution to poorly designed sites. Image MapsClient-Side
Client-side image maps shall be provided instead of server-side image maps except where the regions cannot be defined with an available geometric shape.Because of the potential accessibility problems with server-side image maps, client-side image maps should be used in a majority of cases. Here is an example of a client-side image map. There are two link "areas" on this image -- can you locate them?:
Here is the code that inserts the image and creates the image map:
Notice that each <area shape> tag has its own alt="" tag Server-Side
Redundant text links shall be provided for each active region of a server-side image map. An "image map" is a picture (often an actual map) on a web page that provides different "links" to other web pages, depending on where a user clicks on the image. There are two basic types of image maps: "client-side image maps" and "server-side image maps." With client-side image By contrast, clicking on a location of a server-side image map only specifies the coordinates within the image when the mouse was depressed. The ultimate selection of the link or URL must be deciphered by the computer serving the web page. Most novice designers and webmasters of non-dynamic sites use only client-side image maps. Creation and use of server-side image maps requires advanced programming experience.
Layout and Data Tables.Types of Tables.There are two types of tables used in web pages: layout tables and data tables. In general, data tables require more careful design and coding to insure accessibility. However, layout tables should be used sparingly and designed for quick access to key content on a given page. Summaries for Tables.
Regardless of whether it is a layout or data table, you should provide summaries for all tables via the "summary" attribute.
For layout tables, the summary can describe the layout.Sample Code --
Since many screen-readers are now able to distinguish layout tables from data tables, it is also permissable to simply identify a table as "layout table" in the summary.
Summaries for data tables should clarify the relationships among cells.Smple Code --
Relative Sizing.
The tables with absolute sizes do not transform gracefully for users with smaller screens and lower resolutions. A table set to 800 pixel-width will require a user with 640 resolution to scroll left-right to see all the content. This also affects a user who does not have the browser window maximized to take-up the whole screen. Tables with absolute sizes also tend to cut-off important information when the page is printed. Sample HTML code: Absolute table: <table width="780" border="0" cellspacing="0" cellpadding="0" align="center"> Relative table: <table width=“95%” cellspacing=0 cellpadding=20 align=”center”>. Guidelines for Layout Tables.Large tables of data can be difficult to interpret if a person is using a non-visual means of accessing the web. Users of screen readers can easily get "lost" inside a table because it may be impossible to associate a particular cell that a screen reader is reading with the corresponding column headings and row names. Simple Data Tables .
To get an idea of how data tables are made accessible using the <TH> element, consider this table with both row and column headers:
Here is the code used to define this table, including headers:
As a screen-reader, like JAWS, reads this table, each data cell can be identified by either row or column header. For instance, when reading across row two, JAWS reads the row header: "Student Lori Badia, academic level, M.A. completed; current program, Ph.D. English." When reading down, JAWS reads the row header for each cell. For instance, when reading column three: "Lori Badia, Ph.D. English; Susan Bailey, M.B.A., Alicia Baker, Dept. of English." Row and column headers help insure that data tables can be understood regardless of how the user accesses the cells. Complex Data Tables
For instance, consider this data table used in a biology lab:
Assume this table of resting heart rates may include 20 different subjects, each recording 3 measurements of resting beats per minute, with a calculated average across all 3 for each subject. Each row in the table represents a subject and each column represents either a resting heart rate or the calculated average. The table would have at least 100 data cells. Finding the 3rd measurement for the 11th subject may involve navigating as many as 14 rows and 4 columns. Without a method to associate the headings with each cell, it is easy to imagine the difficulty a user of assistive technology may encounter with the table. Here is another example
This example shows how to associate data cells (created with TD) with their corresponding headers by means of the "headers" attribute. The "headers" attribute specifies a list of header cells (row and column labels) associated with the current data cell. This requires each header cell to have an "id" attribute. Abbreviated Headers
Designers can further support table accessibility by providing abbreviations for long headers. Consider the Student Academic Level and Program table again. When reading across a row, each time a cell is read by JAWS, the data is prefaced with either "student," "academic level," or "current program." We can assign abbreviated terms for these headers to reduce the repetition. In this code example, we would change "academic level" to "level" and "current program" to "program":
The abbreviated header still distinguishes the cell information, but results in quicker navigation through the table. FormsSection 508: General Guidelines || Form Control Labels || Label Position || Logical Read-Order || Keyboard Shortcuts || Place-holding Characters General Guidelines for Forms.
The Section 508 standard for electronic forms addresses the issue from the users perspective rather than the designers. Instead of itemizing specific design elements that must be included in forms, Section 508 simply states that, however the form is design, it must be functional for users of assistive technology. In practice, this means designers must have a better understanding of how form elements are rendered in assistive technology and sites relying on forms for functionality should be tested using a variety of assistive technology and in a variety of platforms/browsers. In addition, the WAC recommends form pages clearly display a contact or help link that encourages users who have difficulty using the online form to report their problems. Of course, the contact or help method should not also require the completion of a form (such as the "Tell us what problem you are having" forms found on many commercial sites). To further help form designers, the WCAG includes more specific guidelines for form development. Form Control Labels.
Each form element should have an associated label. In the past, form designers relied on nearby text to identify the purpose of a particular form element. For example, putting "First Name:" in front of a text box. However, if users of assistive technology read the page out-of-order (as frequently occurs) or must move around the form to make changes or re-enter information, the preceding text may be omitted. Without an associated label, JAWS reads a text box as "Blank, edit." -- an unhelpful description to say the least. To avoid this problem, designers need only to enclose the existing text label in the <LABEL> tag and add an "id" name to text box. Here is an example:
Note that the "for" attribute in the LABEL tag must be identical to the "id" attribute of the form element the label describes. This is what is meant by an "explicit association." The result looks essentially the same: First Name: However, when the JAWS user navigates to the text box, JAWS no longer reads “Blank, edit.” Instead, the text box is identified as “First name, edit,” a much more helpful description of what information should go into the edit box. Explicit association of label and form element is particularly important for list boxes, combo boxes, radio buttons, and check buttons, in which several entries/options are associated with one form question. Consider this example of a radio button set:
Since the code that creates this whole table is kind of lengthy, let's just look at the first three cells:
Each radio button has an associated label, which allows assistive technology to read the text appearing below the button whenever the button is activated. Since labels for buttons often appear above, below, and to the left or right of the button itself, they can be extremely difficult to navigate without associated labels. Like many forms, the example button options appear within a layout table. While designed to help sighted users identify the grouping of like elements, tables add another layer of navigation difficulty for assistive technology users that can further disassociate the form element from its purpose. If you decide to use layout tables in your forms, be sure you have reviewed the elements of good table design in this tutorial. Positioning Form Control Labels.
As assistive technology advances, it includes more support for accessible HTML tags and attributes. However, not all users are working with the latest version of their technology and not all technology supports the same level of code structure. Technically, explicit association of labels with form elements means that the label does not need to be near/next to the element for assistive technology to understand and translate the relationship. Thus, with the use of explicitly associated labels, assistive technology could correctly interpret even a form that looked like this:
However, WCAG continues to require designers to follow the generally accepted practice of putting the label as close to the form element as possible (in this case, within the same cell as the associated radio button). Although practioners continue to argue the best arrangement, generally speaking, labels appear immediately before or below for text boxes, and to the right of check boxes and radio buttons. Creating a Logical Read Order.
If you don't specify a particular read-order for your form, screen-readers will try to interpret the page using a top-down, left-right default structure. But, forms in particular can cause a number of problems when interpreted using this system. Consider this section of the 2003 U.S. Individual Income Tax Return form 1040: If the "Filing Status" section of the form is read left-to-right and top-down, it would read "Single," then "Head of household," then "Married filing jointly," then the edit box for "Head of household, then "Married filing separately," and finally, "Qualifying widow." Consider the next section, "Exemptions." At what point would each of the entries on the far right column be read? Creating a logical tab order resolves the problem of which form control gets read when and helps users input like and related information. The easiest way to create a logical tab order is add the "tabindex" attribute to each form control:
In this example, the tab order would read Name, Email, Submit, while reading top-down, the form would appear as Email, Name, Submit. Keyboard Shortcuts.
Keyboard users often face difficulty with forms when trying to engage "submit," "reset," or other buttons or form controls usually activated using a mouse click. One strategy to avoid this problem is to be sure to assign a tabindex attribute to form controls, to insure the cursor can be "focused" on these elements. Another helpful tool is to create alternate key combinations or keyboard shortcuts to activate form controls. Keyboard shortcuts are created using the "accesskey" attribute:
This example assigns "F" as the accesskey. Typing "F" gives focus to the label, which in turn gives focus to the input control, so that the user can input text. On long forms it may be implausible to assign keyboard shortcuts to every element, but you should still assign an keyboard shortcut to important form elements, like the submit button. Placeholding Characters.Although support for forms is improving, some assistive technologies require initial text in form controls in order to function correctly. A blank space can be used in most cases. However, if you expect a larger portion of your users to be working with older technology, use alphabetic characters instead. Here are two examples of text boxes: Name: Email: Here is the code used to create these form elements:
In the first text box, the initial value is set to " ", or a blank space. In the second text box, the initial value is set to "enter email address." In both cases, users must delete or type-over the initial value. FramesGeneral Guidelines for Frames.
Frames shall be titled with text that facilitates frame identification and navigation. Frames provide a means of visually dividing the computer screen into distinct areas that can be separately rewritten. Unfortunately, frames can also present difficulties for users with disabilities when those frames are not easily identifiable to assistive technology. For instance, a popular use of frames is to create "navigational bars" in a fixed position on the screen and have the content of the web site retrievable by activating one of those navigational buttons. The new content is displayed another area of the screen. Because the navigational bar doesn't change, it provides a stable "frame-of-reference" for users and makes navigation much easier. However, users with disabilities may become lost if the differences between the two frames are not clearly established.
The above image shows a web site that used to be based on frames The top navigation area, including the program logo and navigation bar remain static while the information changes below. (Note: this site was later updated to remove frames. Visit the new, improved site at: http://english.ohio-state.edu/programs/dmp). While Section 508 guidelines require that frames be titled and labeled to identify the changing areas of information, the WAC recommends that web developers avoid using frames in most cases. Instead, templates can be developed to manage repeating information (such as background color, logos, and navigation menus) across the site. Before deciding to use frames in your site, we recommend you read more about the problems with frames: Jacob Nielsen: "Why Frames Suck (most of the time)." ALT.HTML: "Why are Frames so Evil?" Web Design Group: "Guide to Frame Usage." If you do decide to use frames, be sure to read the Access Board's guidelines for creating accessible frames. Example:<FRAMESET cols="15%, 85%">
The WAC recommends including the <NOFRAME> tag as shown above to allow users who do not have frames enabled to still see the content that is displayed within the frame.
About the Guidelines Referenced in this Tutorial.This tutorial brings together a collection of accessibility and usability guidelines, standards, and best practices for web developers.
Section 508OSU requires web developers to meet or exceed the OSU Web Accessibility Policies and Standards, which are based on Section 508 of the Rehabilitation Act of 1973. Section 508 requires that certain guidelines or priorities are met to insure those with visual, auditory, physical, mental, or learning disabilities are able to access electronic information. Standards covered by Section 508 include:
For more help with Section 508 guidelines, see the WAC Tutorial: Understanding and Applying Section 508 Standards. Using the WAI's Web Content Accessibility GuidelinesDepending on its intended use and audience and the complexity of the site design, web designers may want to adhere to the stricter (more detailed) Web Content Accessibility Guidelines of the World Wide Web Consortium's Web Accessibility Initiative (WAI), which cover not only basic web pages, but also use of dynamic content with scripting, plug-ins, multimedia, and other advance design features. The WCAG are categorized by priority:
The WAI allows designers to certify their sites under three levels of compliance:
Thus, a designer with a simpler site, may choose to make the site compliant to "Double-A" rating, while more advance sites may want to certify a "Triple-A" rating to insure all plug-in and scripting technologies are compliant as well. The WAC recommends that designers in academic institutions who choose to use the WAI's WCAG for validation should certify to at least the "Double-A" rating. Note: In addition to treating, in detail, methods for accessibility in complex web sites, the WCAG also strive to lead the way in establishing accessible design practices as emerging technology and design trends enter the market. Thus, many of the recommendations, such as using Style Sheets for layout as well as formatting, represent design elements that will be, but are not yet, fully supported by existing browser technology. Designers who choose to become fully compliant to the WCAG Priority 1, 2, and 3 issues may need to require use of only the most current version of available browsers and further may only support one or two browser types.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OSU Web Accessibility Center (WAC)
1760
Neil Ave
150
Pomerene Hall
Columbus,
Ohio
43210
Phone: (614) 292-1760
Fax: (614) 292-4190
E-mail: webaccess@osu.edu
For questions or problems with this site, including incompatibility with assistive technology,
email the WAC Webmaster.