|
The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect - Tim Berners-Lee, W3C Director and "inventor" of the World Wide Web |
||
|
About Me Writing
Information Science |
Making Web Sites AccessibleA Plain Language Guide for Developers and Project Managers Ten Things to Consider....
Sixteen Things to ApplyEleven easy ones:
Five that are not so easy:
1. HTML for Page Structure; Cascading Style Sheets for Presentation Clarification: Use HTML for structuring content and the cascading style
sheets (CSS) to determine the content's look/presentation/appearance/form/layout.
Use headline attributes (<H1>,<H2>, etc.) correctly and in order. 2. Images - Provide an AlternativeClarification: This is not just for sight impaired users but also for those with slow connections who leave images switched off. Note 1: Identify Function, Not FormThe alt attribute is to indicate the function of the image. <img src="logon.gif" alt="logon"> <img src="logon.gif" alt="logon"> <img src="signup.gif" alt="signup"> <img src="exit.gif" alt="exit."> Note 2: Full-stop at end of altReason : So that screen readers know to pause and not produce a long run-on sentence. <img src="logon.gif" alt="logon."> Note 3: Spacer GIFS, Bullets etc.
Where images have no meaning and are used for page structuring only, the alt should have a null ( alt="" ) or empty (alt=" ") value. For bullets use alt="*" for the first level, and alt="-" for the second level rather than saying alt="bullet". It is still important to provide an alt for a meaningless image. As Jakob Nielsen says "if no alt text is present in an image-tag, most screen readers would feel obliged to inform their user that an unknown image was present because there would be no way of knowing whether the image was important." Note 4: Image maps
Image maps should be client-side (not server-side) and provide text-only links to all hyperlinked regions of the image map. <img src="welcome.gif" alt="image map of areas in the Library" usemap="#map1"> <map name="map1"> <area shape="rect" coords="0,0,30,30' href="reference.html" alt="Reference."> <area shape="rect" coords="34,34,100,100' href="media.html" alt="Audio Visual Lab."> </map> 3. Colour - Don't Rely On ItClarification: Some people are colour blind. Also, some devices are b&w. Note 1: Create contrast. Note 2: Test by printing Note 3 : Test by colour blindness simulator 4. Fonts - Relative not AbsoluteClarification: Absolute font sizes prevent a sight-impaired user increasing the font size in their browser. Note 1: Use Percentage Note 2: Avoid using images as text. 5. Writing - Keep it simple, Conclusion firstKeep it Simple Always explain abbreviations and acronyms - no matter how familiar it is to you If you absolutely need to use technical language - include a glossary. Conclusion First Use Proper Punctuation 6. Language - Declare ItClarification: Screen Readers and braille devices can automatically switch to the new language. It also allows search engines to find key words and identify documents in a desired language. Note 1: Identify the language of a document in metatags <meta name="description" lang="en" content="The Foundation for Development Cooperation is an…."> Note 2 : Language can also be set as attribute in HTML element <html lang="fr"> <head> <title>Un document multilingue</title> </head> Note 3: If language changes in a page use can use lang attribute to indicate <p lang=fre> Note 4: In XML, use "xml:lang". 7. Links/Navigation - What does "Click Here" mean to a blind person without a mouse?Make link text descriptive Link phrases rather than single words Place some sort of separating character or object other than a new line (BR or P) or space between adjacent links. Best to use a list. Reason : Some screen readers will incorrectly read adjacent links as a single link. Make sure navigation structure is clear and consistent across pages. 8. Forms - use labels, provide an alternative.Clarification: Some browsers cannot access Web page form tags without
the use of a mouse. Persons with blindness may not have access to the
input form tags. Also, persons with mobility impairments may find it difficult
to access the small radio buttons and check boxes in HTML form tags: Code Example <p><label for="complete_name">Name:</label> <INPUT TYPE="text" SIZE="45" NAME="name" id="complete_name"></p> Note 1: Use text labels positioned directly to the left of a form element. Many screen readers verbalise or show the text directly to the left of a form field Note 2: Associate Text labels with their form controls. This is done by the using the <label> tag with the ID attribute. <pre> Form example: <FORM ACTION="/cgi-bin/xxx.cgi" METHOD="POST"> <H3>Sample form:</H3> <p><label for="complete_name">Name:</label> <INPUT TYPE="text" SIZE="45" NAME="name" id="complete_name"></p> <p><label for="expertise_area">What is your expertise?</label><br> <TEXTAREA NAME="expertise" COLS="60" ROWS="3"id="expertise_area" WRAP="physical"> </TEXTAREA></p> <p><label for="home_department">Select a department:</label> <SELECT NAME="dept" SIZE="1" id="home_department"> <OPTION VALUE="Best Dept">Best Department</OPTION> <OPTION VALUE="Better Dept">Better Department</OPTION> <OPTION VALUE="Oldest Dept">Oldest Department</OPTION> </SELECT> </p> <p>Indicate your class status: <BR> <label for="undergraduate_status">Undergraduate student</label> <INPUT TYPE="radio" NAME="status" VALUE="undergraduate" id="undergraduate_status"> <label for="graduate_status">Graduate student</label> <INPUT TYPE="radio" NAME="status" VALUE="graduate" id="graduate_status> </p> <p>Check the type of audience you would work with. Check as many as you wish:<br> <label for="highschool_talks">Visiting high school students</label> <input type="Checkbox" name="audience" value="highschools" id="highschool_talks"><br> <label for="career_talks">Career day programs in K-12</label> <input type="Checkbox" name="audience" value="careerdays" id="career_talks"><br> <label for="adult_talks">Adult groups in community</label> <input type="Checkbox" name="audience" value="adults" id="adult_talks"> </p> <INPUT TYPE="submit" VALUE="Send data"> <INPUT TYPE="reset" VALUE="Clear Form"> </form> </pre> Include an e-mail address or e-mail link as an alternative method of sending the required information. 9. Non-standard HTML - just don't use it.Avoid deprecated language features The following elements have been deprecated or removed in HTML 4.0: 10. Frames - Request Counselling!Clarification: Frames cause difficulty in printing, viewing and navigation for all users. There is no reason to use them. Careful use of SSIs and templates can achieve what frames achieve. Just don't use them. 11. Educate the clientNo matter how much care you apply in creating a website, if it for someone else your work can quickly undone by others making site changes without knowledge of accessibility issues. 12. Sound and Video - provide an alternativeClarification: Audio and video contents require a full transcript for
visual and hearing impaired. The requirement is to "convey essentially
the same function or purpose as auditory or visual content" and this means
a text equivalent. 13. Applets - provide an alternativeInclude alt attributes when you use Java applets. This works fine with Java-enabled browsers where Java has been turned off, but text only browsers will simply ignore the appletelement. You can remedy this by simply adding a line of text within the applet element.
<applet code=robertPlant alt="Java applet: Robert Plant ">. Note 1 : If an applet gathers information, provide an alternative mechanism for gathering the information. Alternative information gathering mechanisms such as a user-input form, e-mail address, phone or fax number should be provided within the alternative text of either the APPLET or OBJECT elements. 14. JavaScript - provide an alternativeSometimes scripts are used to create new pop-up windows. Avoid doing this unless it is necessary and the user is forewarned that it will happen. However we seem to be so dependent on Javascript for so many small functions in web design that it is to me impractical to provide an alternative for every instance of Javascript. This one sounds like one bit pain! 15. Tables - make sense when read acrossIdeally CSS should be used for layout rather than html in the form of
tables - but until CSS2 is supported well enough by browsers this will
not be practical Avoid specifying absolute widths larger than a few hundred pixels Use Summary attribute & Caption element 16 - Plug-InsThe classic example of gratuitous use of plug-ins is Flash. While Flash may be useful to describe complex operations, like how a camera or car works, or for non-interactive activities such a viewing a presentation, a cartoon series or a fashion show, it is commonly used to bombard us with meaningless "brochureware". It is often screen based junk mail. Perhaps the disabled are fortunate not to be lumbered with it. PDF's too, present accessibility issues - although Abobe had specifically addressed this issue of late. For those who routinely produce PDFs for the web because it is easier than HTML should reflect on how much harder PDF is for those with screen readers. Also PDF's are often created without finesse, creating huge files that quickly fill the buffer of a home user's ink jet printer. ConclusionAccessible design does not mean designing text-only pages. Don't believe the hype. Designing so everybody can use your pages only takes a little extra time and understanding. You don't have to create a text-only version of your site, and you don't have to limit your designs. You just have to take your users' needs into account as you go. Some Terms UsedA Braille DisplayCommonly referred to as a "dynamic braille display," raises or lowers dot patterns on command from an electronic device, usually a computer. The result is a line of braille that can change from moment to moment. Current dynamic braille displays range in size from one cell (six or eight dots) to an eighty-cell line, most having between twelve and twenty cells per line. Lynx Some people with disabilities use alternate browsers such as lynx, a text
only browser to read web pages. Lynx doesn't support Java, JavaScript,
images, PDF files, or items requiring plug-ins, such as Flash or Shockwave.
If frames don't have meaningful names, navigation with lynx can difficult. Screen readerA software program that reads the contents of the screen aloud to a user. Screen readers are used primarily by individuals who are blind. Screen readers can usually only read text that is printed, not painted, to the screen. Neil Pollock July 2001
| |
| Contact me on neiljpollock@yahoo.com
if you want to share some thoughts |
This pageweb-enabled 1 August 2002 | |