Disabilities: In the US, 30M people who use computers have some kind of disability World-wide, 8% of the web users. - Visual Impairments - Movement Impairments - Hearing Impairments - Cognitive and Language Impairments - Seizure Disorders Resources: National Center on Accessible Information Technology in Education http://www.washington.edu/accessit/index.php - video http://www.washington.edu/accessit/betterfuture.php Template University Assitive Technology http://www.temple.edu/instituteondisabilities/programs/assistive/atlend/eval.htm Coding without seeing: http://channel9.msdn.com/ShowPost.aspx?PostID=17098 Accessibility Lecture: * Section 508 of the Workforce Investment Act of 1998 http://www.section508.gov/ - Ammended the Rehabilitation Act of 1973 - Came into effect on June 2001 Key provisions of technical standards: - Applications, OS, & websites usable by people who are visually impaired. - Telecommunications devices compatibility with hearing aids - Captioning of video & multimedia products; on/off controls. - Assistive technology needs to be built-in to self-contained products. - Computers usable without a mouse. Enforcement: - By law, with penalities for non-compliance. - Covered parties may institute civil suits Links: http://en.wikipedia.org/wiki/Section_508 http://tecaccess.net/index.shtml http://en.wikipedia.org/wiki/Accessibility * W3C's Web Accessibility Initiative http://www.w3.org/WAI/ http://www.w3.org/WAI/gettingstarted/ Guidelines: - Provide equivalents to auditory and visual content - alt tags for IMG, INPUT, and APPLET elements (demonstrate with properties in Firefox) - longdesc with IMG or FRAME - description links - redundant links for server-side - (some disagreement over alt-tags for links in navigation) - Don't rely on color - Use markup and style sheets and do so properly - use TABLE for tabular information, not for layout - Don't use images for content - use MathML for math http://www.w3.org/Math/XSL/pmathml2.xml - Use relative rather than absolute units - Use headers to indicate structure. H2 for subsections of H1 - Use Q and Blockquote for short and long quotations. - Clarify languages - Denote language with lang attribute - Spell-out acronyms: WWW! - Create tables that transform gracefully - Identify rows and columns with headers - http://www.w3.org/TR/WCAG10-HTML-TECHS/#identifying-table-rows-columns - DOn't use tables for layout - Provide summaries for tables - Make sure CSS fails gracefully - Make sure that documents work w/o stylesheets - Make sure pages work if scripts, applets, and other objects turned off - Ensure user control of time-sensitive changes. - Don't flicker screens (4 to 59 flashes per second is very bad) - Don't blink things - Give controls for the user to freeze moving content - Provide the ability to stop refresh; don't auto-refresh - Design for device independence - Use client-side image-maps, not server-side - Make sure elements work device-independent - For scripts, specify logical event handlers - Create logical tab order through links - Provide keyboard shortcuts. Web Content Accessibility Guidelines http://www.w3.org/TR/WAI-WEBCONTENT/ - Initially designed for people, but also helps software, and peopel using cell phones, text-based browsers Authoring Tool Accessibility Guidelines http://www.w3.org/TR/WAI-AUTOOLS User Agent Accessibility Guidelines http://www.w3.org/TR/WAI-USERAGENT XML Accessibility Guideilnes (Draft) http://www.w3.org/TR/xag * Validators * Web validators: http://webxact.watchfire.com/ - WebXACT - Formerly Bobby http://www.cynthiasays.com/ - For an amusing time, try scanning Watchfire's product site: http://www.watchfire.com/products/appscan/default.aspx With their WebXACT product at: How I fixed simson.net: - home page did a redirect to projects.php - The first 3 warnings are silly - I added a doctype. For cynthiasays: - changed this: - to this: ================================================================ Goals: Support assistive technology: - Voice interfaces - Screen readers - Alternate input devices Why: - 10 million Ameriacns are blind or visually impaired (5.5 million of whom are elderly) http://www.afb.org/Section.asp?SectionID=15#num - 1.3 million americans are legally blind - 55,200 legally blind children - 46% of visually impaired working-age adults are employed - 32% of legally blind working-age adult americans are employed Applications: Accessibility APIs: Traditional approach: - Off-screen model of desktop - Snooping OS events - Unsupported OS & Application features - Java Accessibility API http://java.sun.com/j2se/1.4.2/docs/guide/access/ - Standardized key bindings for manipulating GUI - Built into Java Foundation Classes (Java Swing) http://java.sun.com/products/jfc/accessibility/index.jsp - Java Access Bridge for Microsoft Windows - Makes Windows-based Assitive Technology Programs work with Java API - Must be specially downloaded - GNOME Accessibility Toolkit (ATK) - http://developer.gnome.org/projects/gap/guide/gad/ - build into GNOME widgets, so most things just work. - functions that set text set assistive info gtk_label_set_text() gtk_button_new_with_label() - GAIL - GNOME Accessibility Implementation Library - Runtime loaded - Bonobo controls load from libgail-gnome module - Custom widgets need to be made accessible - Provide short names and tooltips - atk_image_set_description() for all objects - group logical components in a containe - EmacsSpeak - http://emacspeak.sourceforge.net/ - Listen to the interview, at http://emacspeak.sourceforge.net/acb-19991204-raman.mp3 Microsoft Active Accessibility Architecture: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc/html/actvaccess.asp What you Need Now: http://www.ngtvoice.com/products/software/cognitive/ - For cognitive disabilities Accessibility in wxWidgets: http://www.wxwidgets.org/access.htm