TSBVI logo | Home | Site TOC | Site Search | Technology |

CSS Accessibility

Why use CSS?

Things to Avoid

Good CSS practices that benefit accessibility

  1. Current assistive technology ignores CSS positioning. Assistive technology reads in source code order. The following is from: How to Design An Accessible Web Site Presentation OrderThe "ideal" Web page would present text in a logical order to every browser (or "user agent" as the W3.org standards describe it):
    1. The title of the page.
    2. For long pages, a summary or abstract of what is on the page. 
    3. The main content of the page. 
    4. Secondary content of the page (the kinds of things that might be displayed in a right column or inset box). 
    5. Site navigation and other information not intrinsic to the main content.
    Instead, most pages on the Web now display in this order, with no page summary:
    1. Site navigation, often a very long list of links. 
    2. The title of the page. 
    3. Secondary information displayed in a floating or inset box within the main page content.
    4. The main content of the page. 
    5. Additional secondary content of the page to be displayed in a separate right column on the page. 
    6. Other information not intrinsic to the main content.
    Solution: write your code to reflect the first list. Use CSS to display information in the preferred visual layout.
  2. Use relative (scalable) units (em, %, keyword) rather than fixed units (px, in, cm).
  3. Always specify a fallback generic font.
  4. Reveal acronyms and abbreviations to users (title will appear on screen as a tool tip; screen reader can read title)
  5. Change bullet appearance, but keep markup as a list
  1. Display important/useful hrefs only when printing (source: http://www.admin.ox.ac.uk/)
  2. Remove unnecessary stuff when printing. (Use print-preview feature of browser. Notice that navigation bars, breadcrums, footers, etc. have been removed from the print rendering of the page.)
  3. Increase size of input form controls
  4. Change background-color of input form controls that have the focus.
  5. Apply a "skin" to a list of links that makes them appear as a block of images with JavaScript roll overs. Provide "rollover effect" from the keyboard. Rollovers can be created for mouse users by using the :hover pseudo tag without the need for scripting. The same styling that creates the rollover for the mouse can be applied to create a keyboard "tab-over" by using the :focus (for Gecko browsers) and :active (for IE) pseudo tags.

If (When?) implemented by browsers....

  1. Dynamically outline elements with focus or hover. Outline declaration draws outline (similar to border) around an element but does not take up space (reflow the screen). The outline will overlap surrounding element if necessary.

CSS Cautions

  1. Generated content - Current assistive technology relies on what the user's browser supports, that is what can the browser display on the screen). If the browser does not support a CSS rule, the user/AT will not "see" it.

Resources

Books

Accessible CSS techniques

Websites

Tools


[Top] [ Home ] [ Table of Contents ] [ Search ]
Agency Contact Information | Texas State Homepage | Texas State Wide Search

Please complete the comment form or send comments and suggestions to: Jim Allan (Webmaster-Jim Allan)

Last Revision: July 11, 2007