Search This Blog

5/18/2011

Accessibility for All

web accessibility

Since I met the Accessibility subject (about 2005, when I went to XXV BCSC), I care about web accessibility development.

Web accessibility means to develop web pages (any kind of site or web information system) which can be used by any person. The main guideline of accessibility is the WCAG. The project site is at: [http://www.w3.org/TR/WCAG10/]. The WCAG was created by WAI, and is covered by 3 conformity levels (from the simple to more complex): A, AA and AAA. Each level covers an incremental set of checkpoints. The American Government "Section 508" is a list of standards well recognized too, and are mandatory at government sites, and useful to other countries. It is at [www.section508.gov/].

Many covered points of these kind of guide are subjective and hard to be checked by automatic agents (robots). Although, there are some agents that try to validade the points they can. For example, the "Cynthia Says", available at [www.cynthiasays.com].

Below, there is a list of fast tips to enthusiast (read official site to get the complete list).

Level 1:

  • Use alternative text into images (use "alt" or "longdesc" attributes);
  • Do not use "blink" and "marquee";
  • If an information is transmitted by color, ensure that the same information can be determined without use of colors;
  • Organize the document to ensure it make sense without stylesheet (use HTML elements with their semantic meaning);
  • With tables, use rows or columns headers, summary and title;
  • Ensure the page can work without Client Side Scripts (JavaScript, Flash, etc).

Level 2:

  • Ensure the text colors and background colors has sufficient contrast to be read in black&white screens, and do not use color combinations which is undetectable by persons with daltonism;
  • Use style sheet to format documents;
  • Use relative units (percentage, or "em" for texts) in oposition to absolute units. There are users that need enlarge document elements and it must stay accessible.
  • Use headers to specify the document hierarchy of content (use h1, h2, h3, h4, h5 and h6 to define levels, but NEVER use these elements only to show a text bigger).
  • Do not use "refresh" or "redirect" meta-tags;
  • Do not open other window or pop-up before notify the user about this behavior.
  • Avoid use W3C deprecated elements;
  • Divide big blocks of information in little and aprropriate parts (sections).
  • Do not use table to make layout;
  • Use label for form inputs;

Level 3:

  • Specify the complete description of abbreviations and acronyms at the first occurence of these at the document.
  • Specify the main language used to present the document ("lang" and "xml:lang" attribute).
  • Specify a logic order to navigate into links, form elements, etc. (use "taborder" attribute);
  • Include (at least) one printable symbol between two adjacent links (to make clear where one starts and the other finishes);
  • Offer other ways to present the document (language, media, etc.);
  • Offer a navigation bar to show the user position in the site hierarchy tree;
  • Create a summary in tables;
  • Take a default value in form elements.

Comment: you may opt to "cheat" some of these recomendations if you offer a mechanism to enable/disable an accessibility recomendation. Although, it is important that, at start, the content is shown in accessible way.

Amid all this, one of the biggest challenge I see is to create mechanisms that use Ajax (or only JavaScript) that can work in an alternative way. It is complex. In one hand, there are who defend that the same page must be accessible with or without scripts, and, in other hand, there are who defend a two way development (one 100% accessible, and the other with usability improvements). Which side are you?

No comments:

Post a Comment