See if I'm online.

Feature Story : Section 508 Compliance
Published 31 Aug 2001

I have recently been exposed to dealing with websites for the federal government. As I quickly discovered, one must be significantly more aware of the strict regulations imposed by the government on publishing electronic information on the Internet than if one was simply posting a site on the web of their favorite recipies for egg nog. I'm not talking so much about content here as I am about layout, navigation, and accessibility. At the crux of all this is Section 508. This little piece of legislation was a recent amendment to the Rehabilitaion Act of 1973 stating that all publicly available federal information must be accessible to persons with disabilities. For web developers, this means making sure your site can be accessed via screen readers, TTY, braille pads, and other peripherals for the disabled.

So what's the big deal? How hard can it be to code up a "508 compliant" webpage? Well, it's not a big deal, and it's most certainly not difficult. The key is something professional web developers have been striving for for years: good coding practices. In general, many assistive technologies require HTML 4.01 Strict, which as a seasoned developer I can say is herculean in itself. Scottahearn.com is only 4.01 Transitional, mostly because I'm to stubborn to give up the use of a few depreciated tags. Coding in Strict does offer certain levels of cleanliness, however. Yes, it's true - .gov and "eye candy" rarely appear in the same sentence. But, while most government sites are somewhat dull and unexciting, they are nearly always full of thorough and useful content. So, this makes the developer's job somewhat easier. It's quite easy to get 4.01 Strict when all you have to worry about is <br>, <p>, and maybe a few images. What are some considerations when things get a bit more involved, though? What does Joe Personal-Site need to think about when coding his page to be "disabled-friendly?"

As mentioned before, the solution is simply good coding. I shouldn't have to remind HTML developers about ALT-tags, the use of (shudder) spacer images, and Lynx-friendly websites. I shouldn't have to. Sadly, as evidenced on an unofficial guess, a good 80% of the web is coded extremely poorly. This is clear even to non-HTML savvy when viewing a given website in Internet Explorer, for example, and seeing the amateur web developer's favorite excuse for laziness and incompetence, "this site is best viewed using such-and-such browser at such-and-such resolution." Now, for fun, go view that site in Netscape and shrink the window down. Pathetic. Side note: the one good thing about Netscape is its rendering of the HTML spec - IE covers your mistakes; Netscape tells it like is. But I digress...

So, aside from existing immaculate code, what other coding considerations are there for assistive technologies? Well, one by one, here are some points that, if followed, will result in both a well-coded website AND a globally-accessible website:

  • Images
    - are you using ALT-tags?
    - would it be more appropriate for an image to be text?
    - you should not have to use "spacer" or "padding" images! Ever!
    - if an image is not "important," give it a null ALT-tag (double-quote, double-quote)
    - do imagemaps have independent associated links somewhere else on the page?

    Audio
    - do you have a transcript associated with each audio file?

    Forms
    - are the form fields and controls grouped appropriately?
    - have you included tab-control into your form fields?

    Applets (Java), scripts (JavaScript), etc.
    - is the information available/accessible through assistive technologies?

    Frames
    - don't use frames. Ever.

    Colors
    - yes, scottahearn.com is guilty of this (to a certain extent), but never distinguish entities soley by color! Be considerate of our colorblind viewers.
    - if you can use your page in black & white, claim victory

    Non-HTML, non-text documents (PDF, Word, etc.)
    - is the information in these documents accessible?
    - can any of these documents simply be converted to HTML or text?

    Tables
    - is your table for layout or for data?
    - if layout, give the "summary" attribute (of the "table" tag) a null value
    - if data, give the "summary" attribute a useful description of the table's content

    Style Sheets (CSS)
    - is your site still useable if style sheets are turned off/disabled?

So there you have it. Just a few simple points to remember when developing a clean website. As always, I recommend testing your site in several different browsers at several different resolutions to verify its layout and useability across different environments. And, if you're really confident, test your site in Lynx, a popular text-only browser. Happy coding!

For more information on Section 508, check out the following sites:
http://www.section508.gov/
http://www.access-board.gov/508.htm