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:  <ACRONYM title="World Wide Web">WWW</ACRONYM>!
  - 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: <body bgcolor="#FFFFFF">
  - to this: <body style="background:white">


================================================================
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