Tuesday, June 19, 2007

Web Site Accessibility (Section 508 or ADA Compliance)

The day before my annual family reunion in Myrtle Beach, we received a call from a client stating that the payments page of their online registration form was not "Section 508 ADA compliant". This rang some alarm bells, since we have tried to support the Section 508 accessibility guidelines since signing our first federal government agency client in 2002. I started my research at the "Quick Reference Guide to Section 508 Resource Documents", but at 144 pages I realized that I was going to need a "Quicker Reference Guide" in order for our developers and QA engineers to understand the legal requirements and best practices surrounding Web site accessibility for visually impaired users.

Background Information: Laws and Recommendations

(If you don't have time for the background information, then skip to "The Short Version" at the end.)

Web accessibility is the practice of making web sites accessible by all people regardless of physical disabilitiy or lack of access to the latest technology (such as JavaScript). In the United States, web site design should follow the accessibility standards set by the American Disabilities Act, Section 508 of the Rehabilitation Act, and the World Wide Web Consortium.

The American Disabilities Act (ADA) is a 1990 civil rights law that affords protection against discrimination to Americans with disabilities. Title II of the ADA places non-discrimination requirements on the web sites of public agencies (state and local government).

Section 508 was a 1986 amendment to the Workforce Rehabilitation Act of 1973. It proved to be ineffective, and in 1998 the proposed Federal Electronic and Information Technology Accessibility and Compliance Act was enacted as the new Section 508. In particular, sub-part B, 1194.22 provides 16 rules for Web-based intranet and internet information and applications.

The standards of Section 508 web page design are complementary to the recommendations laid out in the Web Content Accessibility Guidelines (WCAG 1.0) of the Web Accessibility Initiative (WAI) of the World Wide Web Consortium (W3C), which is the international standards organization for the World Wide Web. A working draft of WCAG version 2.0 was published on May 17, 2007.

Additional sources of information about Section 508 standards include:

  • United States Access Board - The Access Board developed the accessibility standards used in the Federal government's procurement regulations for the various technologies covered by Section 508
  • Section 508.gov - GSA’s Office of Governmentwide Policy, Center for IT Accommodation (CITA) is charged with educating Federal employees and building the infrastructure to support section 508 implementation.
  • ADA.gov - Department of Justice's Civil Rights Division explains how to maintain ADA compliance for State and Local government web sites
  • Accessibility Forum - The GSA has created a "Buy Accessible" system to help decide when a federal government purchase must comply with Section 508
  • Information Technology Technical Assistance and Training Center - The ITTATC reached the end of its 5-year grant on May 16, 2006, so this information is for historical purposes only

  • Who Does It Apply To?

    While Section 508 attempts to follow the WCAG standards, and the WAI tries to accommodate international legal policy, it is important to recognize that the W3C publishes recommendations for users of the World Wide Web, while Section 508 and ADA are laws that apply to many web sites in the U.S.

    I'm not a lawyer, but my research indicates that ADA Title II applies to all state and local government web sites, while Section 508 applies to all public agencies that receive federal funding. In addition, vendors (like Certain Software) that provide web sites to federal agencies must comply with Section 508 as a requirement of the purchasing process. Compliance requirements may be expanding to private web sites, however, as USWeb.com reports that "A few sites have already been sued under the ADA, including two major travel sites (Priceline and Ramada.com) that must now meet web accessibility standards and reimburse the court for tens of thousands of dollars."

    Besides the legal requirements, following the W3C guidelines for web site development is simply good business - it ensures compatibility with future web browsers and reaches the widest possible audience. Again from USWeb.com, "According to the Civil Rights Division of the U.S. Department of Justice, there are 50 million people with disabilities in the United States with $175 billion in discretionary spending power." When you consider that Section 508 Compliance benefits not only blind people, but mature audiences and people with visual impairments, the need to serve these groups in our aging population is clear.

    Implementing Web Accessibility Guidelines

    The best place to start is to read the 16 rules for web site design in Section 508 Sub-part B 1194.22. The Access Board provides examples of implementing these 16 rules with greater detail. Also, Chapter 5 of the "ADA Best Practices Tool Kit for State and Local Governments" provides examples of designing web sites that comply with Title II of the ADA.

    For experienced Web designers, Jim Thatcher wrote a comprehensive 12-page Web Accessibility Tutorial on implementing Section 508 compliance and published it on his web site JimThatcher.com. This is the best resource for Web User Interface (UI) developers who want to learn how to implement Section 508 compliance.

    And for the truly zealous, the Web Content Accessibility Guidelines version 2.0 is the ultimate compilation of best practices for accessibile web design.

    Validating Compliance

    Jim Thatcher has an excellent 5-page tutorial on Testing for Accessibility. The most popular program, Bobby, was started as a free service by the Center for Applied Special Technology. It was rolled into the Watchfire WebXact testing tool, which unfortunately will no longer be available for free use after July 15, 2007. (Bobby offers a free 10-day evaluation with registration, or it is available for purchase for $299.) Watchfire also offers a comprehensive WebXM Application Scanner, which looks for security, spelling, and compliance errors in your web pages and can be integrated into QA processes via solutions such as the HP Mercury Quality Center, IBM Rational ClearQuest, and Microsoft Visual Studio Team System.

    I used the free testing tool at WebXact on a sample registration form created to test the payment page of our online registration process. It is an excellent product. You simply enter a web site URL, it scans that page, and then provides a concise report showing the errors and warnings your HTML has compared to either the Section 508 or W3C WCAG standards. You can click on any of the warnings to see the specific checkpoint line in the relevant standard that triggered the message, along with instructions for resolving the issue. Below are screenshots I took of this process.




    Going back to the reason for this article, readers who carefully inspect the WebXact results will notice that we did have a Section 508 non-compliance error on our payments page - the "Billing Address" form fields were not identified with labels. Our client's form, however, did not use these fields, and thus it was in compliance. The original issue that they raised regarded our use of JavaScript to show or hide form fields based on the payment method that the registrant selects. JavaScript (or "Dynamic HTML") in itself, however, is not in violation with Section 508 or W3C standards, because it was designed to "show all" fields if JavaScript is disabled in the user's browser, or if the user is visually impaired and using a screen reader tool to access the page. I was able to demonstrate this by disabling JavaScript on my browser (in IE 7, this is under Tools > Internet Options > Security > Custom Levels, scroll down to Scripting, under "Active Scripting" select "Disabled", then close and re-open the browser) and re-loading the payments page, which correctly showed the form fields for all payment methods.

    So, What Does It "Look" Like to Visually Impaired Users?

    The best way to experience your web site or application through the eyes of impaired users is to either use a test-only browser or screen reader software.

    The most popular text browser is "Lynx". You can see it in action by entering a URL from your Web site at the free Lynx Viewer available at http://www.delorie.com/web/lynxview.html. Below is a screenshot of the "Lynx" (text-only) view of the same payment page shown above.



    The most popular screen reader is JAWS. It's an interesting exercise to load it on your PC and have it read your web site to you. You can select from several electronic voices and adjust the speed to match your preferences. I once watched an accessibility expert at the Equal Employment Opportunity Commission (EEOC) use JAWS on our registration application at a blistering pace. She (and according to her, most blind people who use screen readers regularly) could navigate through a page using the electronic voice faster than I could read it.

    The Short Version

    If you want to be compliant with the ADA and Section 508 accessibility guidelines:

    1. Read the Section 508 Rules.
    2. Have your Web designer read Jim Thatcher's Web Accessibility Tutorial
    3. Validate compliance on your web site with Watchfire WebXact or one of the other tools listed in Jim Thatcher's Six Tools for Testing.

    Friday, June 01, 2007

    The Number One Feature Request from Meeting Planners

    Jerry Chandler from Business Travel Executive magazine asked me, "What is the #1 feature request that you hear from meeting planners?" I've heard this question before, and I know that editors expect an answer like "Travel Integration", "Meeting Expense Consolidation", or "Budgeting". But my answer was, "Tools that will simplify their working life".

    Deliver More. Do Less.

    In business, everyone is asked to deliver more product with less cost. Since the "product" of Meeting Planning is often pre-event data management, this demand translates into managing more information while using less human time. Meeting Planners are flooded with data, and they each want "The Feature" that will make their unique work flow simple. For some, the feature is roommate matching; for others, it is financial integration for month-end accounting reconciliation; for others, it is managing seating assignments.

    Developing "The Feature"


    Software developers try to create an application with a set of features that meets the needs of the largest group in the target audience. In the late 1990s, online registration was "The Feature" that all event planners and attendees wanted, and providing it was (in hindsight) straightforward. Some events collect payment from attendees, so integrated online credit card processing became "The Next Feature". Then room block management was the feature, but only for a smaller set of event planners since not all events manage their room blocks. Roommate matching was the feature for corporate meeting planners whose firms wanted to reduce housing costs by sharing rooms among their employees. Of course, this feature was useless for trade shows and conferences where attendees stay in individual rooms. Next, corporate travel managers who found themselves in charge of centralized meeting planning decided that travel integration was the must-have feature, for one stop group travel planning (event registration, housing, and travel arrangements). The focus on meeting expense consolidation led to feature demands for Budgeting, RFP management, Facility / Vendor databases, and so on.

    Along the way, each new feature made online event registration applications appeal to a broader audience, but somehow, more features made more people less satisfied. This contradiction is explained when you remember that each individual user did not specifically ask for all of these features, what they wanted were "Tools that will simplify their working life". With additional features, applications became more complex to master, and developers became focussed on expanding breadth in the application instead of tying existing features together to streamline individual workflow processes.

    When More Is Less

    The May 21, 2007 issue of Forbes reports that the Honda CRV, with 88 possible configurations, outsells by 250% the Chrysler Nitro, with 167,000 configurations. Since dealers sold only 36,687 Nitros last year, Chrylser and its suppliers were paying for an infrastructure that supported five times as many configurations as any customer wanted. (The 2008 Nitro will allow 680 option combinations.)

    When I apply this logic to our application, I find about 16,549,457,379,840 possible combinations in our custom reporting area alone.
    • 21 report types
    • 7 report output formats
    • 11 report display options
    • 4 report visibility options
    • 2 report data scope options
    • 8 "Changes Report" options
    • 10 "Role-based"options
    • 11 group options
    • 6 subtotal options
    • Approximately 1000 columns
    • 29 filter options, plus 2 date filter options with 9 date options and 34 date range options
    • 2 header/footer options with 63 dynamic fields
    • 3 export action options
    • 10 custom column options
    I've worked on this application since the first line of code, and there are few features or options that were added without solving a specific customer need. But after 8 years these features in aggregate have made life more difficult for some users than it should be. And it has created a "headwind" that slows down development; because each new feature can potentially affect more areas, QA must test more possible combinations in order to ensure backwards compatibility, and a wider audience demands more new periphery features that perpetuate the cycle.

    Paid to Provide Solutions, not Just Identify Problems


    While providing more features for the event planning industry, our design philosophy has to step back and create a User-centric (and Workflow-centric) focus on simplicity. I will continue this discussion in a future blog.

    Thursday, May 17, 2007

    APEX TAC Monthly Meeting Minutes - May 2007

    The APEX TAC held it's monthly Virtual Meeting on May 17, 2007. Here's what we did.

    APEX TAC Monthly Virtual Meeting

    Meeting Topic: APEX Virtual Meeting 5/17/07
    Host: Rick Borry (Certain Software)
    Meeting number: 484 360 851
    Start Time: Thursday, May 17, 2007 07:57:17 PM
    End Time: Thursday, May 17, 2007 09:09:26 PM
    Meeting URL: https://newmarketinc.webex.com/newmarketinc

    Attendee List:
    Rick Borry (Certain)
    EJ Siwek (CIC)
    Jeremy Keller (Meeting Matrix)
    Jane Melville, Julie Camp (Hilton)
    Scott Rudberg & Andrea Campbell (Passkey)
    Rob Wilson (Meeting Sites Resources)
    Rick Fahnestock (MPI)
    David Collins (Syllogy Design) - Joining the Rooming List Group
    Michael Lu, David Quattrone (Cvent)
    Charles Jeffers
    Chip Meyer (Data App)

    Agenda

    STRATEGY BACKGROUND (from the Ft. Lauderdale Spring meeting):
    See http://registrationdoctor.blogspot.com/2007/04/apex-implementation-pilot-q1-2006.html

    PROGRESS UPDATE:

    Jeremy Keller and Rob Wilson reviewed their progress on the RFP transformation tool. They are about 90% complete, but learned some lessons that we will adopt for the other groups:


    • Generally, it's better to use the Response XML (OTA_HotelRFP_MeetingRS3.xml) because the Request XML sample does not have as much data.

    • But even the Response XML document in the OTA standard is not complete - many fields don't have data or have duplicate data from other fields - this makes debugging very hard. We should modify the sample XML fiels so that all fields are complete and all data is unique (e.g. don't use the same name for Event Organizer and Key Contact)
    • Rick and Chip suggested a "best practice" that Response Messages should echo back the data from the Request Message in addition to adding response data. This way the sending application could validate that the data it sent was placed into the correct fields, e.g. the Last Name in the meeting planner's application was stored into the Last Name field of the hotel's application. Hilton pointed out that this could lead to a lot of extra work and is really only necesary during the initial validation phase. Once the translator routine has been validated in both partner's applications, there isn't as much of a need to echo data back-and forth every time. This will be a discussion point during the initial pilot implementations.
    • Jeremy added a CSS style tag to the XSLT so that he could color-code the font classes for "Labels" (from the APEX Template), "Data" (from the XML file), and "Comments" (his notes. We agreed to use this coloring standard during development.
    • Jeremy uses Visual Studio instead of Altova Stylevision, which produces a lot of "extra" code in the XSLT. He manually cleaned up the output from Rob's Stylevision copy in order to produce the final transform.
    • Rob noted that the data types used in the OTA standard are not always consistent, e.g. some dates are "Date-Time" type and others are "String". Chip noted that this may be intentional if the field can contain text such as "ASAP" or "3rd Quarter", but we need to review these issues and decide if they are mistakes or valid.
    • Hilton raised several issues about labels, e.g. "Key Contact" in Section 1 but "Primary Sales Contact" in Section 5. The labels and amount of information collected must be reviewed for clarity and completeness.
    • Hilton also asked about the location of the field definitions - since the RFP standard doesn't have an introduction (as the other standards do). For example, in Section 4, what is the difference between "RFP Published Date" and "RFP Distribution Date"?
    • After Jeremy and Rob finish their merge, everyone will be able to add comments (in Red) to the final output for review in the Orlando meeting in June.

    THIS MONTH’S TASKS:

    • We will focus on completing the RFP XSLT and resolving its issues before tackling the other two schemas

    • Jeremy, Rob, EJ, Chip will work on the RFP completion:

      • Complete merge

      • Update color scheme to match standard

      • Review merged document and add comments, errors, questions

      • Complete addition of data to all fields in RS.XML so that it is fully documented

    • Rest of team should review the completed RFP with Rob and Jeremy's comments and make recommendations for changes needed, especially from the Hotels' prespective of what data they need to receive from Planners and send in response to RFPs

    • Discuss common issues teams are facing and decide how to resolve them on the Forums at: http://apex.dataapp.com/Forums/tabid/226/ctl/Edit/mid/624/ItemID/6/itemindex/0/Default.aspx

    NEXT MEETING (Orlando, FL after HITEC, June 27-28)


    • Meeting calendar available at: http://apex.dataapp.com/Calendar/tabid/224/Default.aspx

    • The next face to face follows HITEC in Orlando. The TAC meeting will be held on June 27th and 28th, starting at 3pm on th 27th and ending at 3pm on the 28th.

    • We have a room block of 5 for $149.99 each at Embassy Suites Orlando - Lake Buena Vista, 8100 Lake Ave., Orlando, Florida 32836. Attendees can call the main number 407-239-1144 and ask for the Reservations Dept. (Mon-Fri, 8-4pm). Please have mention "CIC/APEX".

    • Tentative Agenda:

    1. Powershop beta demonstration (Chip Meyer)
    2. XSLT Demonstrations by RFP team and review of work completed and recommendations
    3. Close out RFP, focus on Rooming List and Event Specification Guide

    End Note

    Yes, even Pre-Kindergarten has graduation. Congratulations, Izabella!

    Even Pre-Kindergarten has graduation now...

    2007 SGMP National Education Conference

    On May 3rd I presented an educational seminar titled "Online Registration for Government Meetings: Compliance, Security, and APEX Standards for the Group Travel Industry" at the Society of Government Meeting Professionals (SGMP) 2007 National Education Conference in Atlantic City. You can wait to learn about the session in the next issue of Advantage magazine, or read about it below.

    Session Summary

    This session discussed the past, present, and future of online registration. Event registration in the past made meeting planners the bottleneck in a cumbersome process as paper, phone, and fax registrations came in and were typed into a computer, while attendees waited for their confirmation letters to arrive via mail. We demonstrated features of modern online registration tools that provide a cost-effective path to attractive web sites, custom registration forms, integrated credit card processing, and instant email communication. Online registration is governed by many regulations and best practices, including data encryption using Secure Sockets Layer (SSL), Payment Card Industry (PCI) compliance for credit card processing, American Disabilities Act (ADA) Section 508 compliance for equal opportunity, Fair and Accurate Credit Transactions Act (FACTA) regulations for privacy concerns, and the CAN-SPAM law for e-mail communication.

    Lastly, we discussed the APEX initiative to produce open standards for electronic data transfer of event RFPs, rooming lists, and Event Specification Guides between meeting professionals and hotel suppliers. During the Q&A period, we discussed an analogy for the future world of instant and easy data exchange between hotels and meeting planners; APEX will be the un-seen plumbing in your housing, while software tools will be the faucet handle in your sink – offering a simple and intuitive way to get water. I encourage participants who wish to remain informed about the topics discussed in this session to subscribe to the speaker’s blog at www.registrationdoctor.com.

    Friday, May 11, 2007

    Listen to Your Customers and You Might Learn Something

    Sclerochronology is the study of physical and chemical variations in the accretionary hard tissues of organisms, and the temporal context in which they formed. Familiar examples include annual bandings in reef coral skeletons or daily growth increments in mollusk shells.

    I learned this from our customer Beth Miller-Tipton of the University of Florida during a conversation at the Society of Government Meeting Professionals in Atlantic City last week. Beth also taught me that she is using our product to manage abstract submission for their upcoming Sclerochronology conference. This was news to me; I didn't know that we had an abstract management tool.





    Behind the Curtains at Scientific Conferences

    In my graduate school days at Berkeley I had the opportunity to help organize a few conferences for the California Catalysis Society. Scientific conferences typically have a higher ratio of speakers to attendees than other educational events. Let's say you're an expert in a particular area of science (such as Catalysis or Sclerochronology) and you find yourself appointed to be the host of a conference on the subject. When you begin to put the program schedule together, the first step is to issue a "Call for Papers", which you send to everyone in your field. Scientists, professors, and students who want to present their work at the event submit abstracts describing the content of their proposed presentation or poster. A conference usually has multiple sessions, each focussed on a particular topic. The session chair is an expert on that topic and has the job of selecting speakers, moving the presentations along (often only 15-20 minutes are allotted per speaker), and managing the discussion.

    Presenters submit these abstracts for many reasons - their budget might not allow them to travel to the conference unless they are speaking, they may have recent results that they are about to publish and want to generate additional attention for their research, or they may be rehashing previous research in order to get another line on their Curriculum Vitae (the scientist term for resume and list of publications). Success in science, like most fields, is a combination of quantity and quality. Quantity of research is demonstrated by the length of your list of publications and presentations, while quality often depends on the number of citations that your research has, i.e. the number of other people whose work references yours. (Where do you think those guys at Google got their "page rank" idea?) These two factors combine to help determine your funding levels from grant applications, your promotion to tenure, your movement up the academic ladder into the elite universities of highest prestige - you get the idea. So getting your abstract selected is a big deal at some conferences.

    Abstract Management Process

    As the meeting planner, you have to collect the abstracts from prospective presenters, force the session chairs to review the abstracts and select their posters and presentations, and keep the presenters informed of their status (since many presenters cannot register or make travel plans until they know that their abstract will be accepted). Fortunately software is available to facilitate this process, although dedicated "Abstract Management" solutions can be expensive and are over-kill for many conferences.

    Certain Registration Extended

    Enter our clever customer Beth Miller-Tipton. She devised a process with her IT department and Certain Registration to use her existing registration system to collect both abstracts and registration and housing reservations. They first upload the abstract file (usually as a Word document or PDF) onto their internal servers, then link to a registration form in Certain Registration, where they collect the presenter's contact information, abstract title, presentation preferences, and so on. They use data integration to pass the web address of the abstract file into the registration form, so that they can produce a single report from Certain Registration with the contact information for all submitters, with hyperlinks to their abstracts. Beth and the session chairs sit down one day, run through this list on a projection screen, and click on each link to view the abstract. The chair (or committee) quickly decides which abstracts to accept for presentations, or which for posters, or which to decline if space is limited.

    Without having to learn a new system or spend a bundle, Beth created an online abstract management process that works conveniently for everyone - the meeting planners, the session chairs, and the prospective presenters. I liked it so much that we decided to add a new custom question type ("File") into Certain Registration, so that she can manage even the file upload portion of the process within one system. Hopefully, many other customers and prospective customers will find this to be equally valuable.