First steps toward 508 compliance in 6.4

bsoremsugar —  January 30, 2012 — 6 Comments

Let me start out by making a humble statement, here at SugarCRM, we do a lot of things right.

Note that I didn’t say we do everything right (hence the humble part).  I know this will shock a lot of people and it definitely surprised me the first time I realized it but, we aren’t perfect.  Bright and good looking, sure I’ll concede to that but we are still human.  Take 508 compliance for example.  508 compliance is an area where SugarCRM has fallen short on in the past.

Having recognized this, we contracted outside help in identifying the areas we could improve on.  We got yelled at, received many demerits, and were forced to do compensatory pushups.  After a night of punching the pillow, many empty tissue boxes and 3 pints of Ice Cream we decided enough was enough and it was time for a change!  Since the agency refused to ‘take it back’  we decided to go with plan B and improve SugarCRM to be more 508 compliant in the 6.4 release.

Seriously now.
Jokes aside, 508 compliance is no laughing matter and we have finally started to make it a priority.  We also acknowledge that there is still much work left for us to accomplish.  In our initial phase we decided to go after the low hanging fruit that would provide the most impact and make our site easier to navigate with a reader.  Among the changes were:

  • Clean up alt text on images with wrong descriptions
  • Give all images alt text where needed
  • Combine Image and Text Links (to avoid duplicate text for readers)
  • Properly label Table Headers
  • Properly assign scope to Table cells and columns (scope=col / scope=row)
  • Assign Headings (Header tags) to define page sections
  • Added descriptive text, title, and/or label tags to form inputs
  • Created an accessiblity theme with better color contrast.
  • remove bad ordering on tab indexes

Scratching the surface
We know we can’t stop there, we still have a lot more work to do.  We have barely begun to scratch the surface on this one.  Some things on our radar are:

tabindex(es)
Our current tabindex scheme is incomplete.  In previous releases, tabbing through the app was like playing ‘Where in my form is Cursor Sandiego?’ In this release, we took out tabindex numbering and let the browser decide the proper tab order.  Of course, you can still define the tab index in the usual places in either the metadata or the studio.  This may be upsetting to those who became accustomed to our archaic ordering, but we plan on working on a better dynamic numbering scheme that should make tabbing easier and more predictable.

accesskey(s)
Use of accesskey (aka ‘hot keys’, ‘alt keys’) are also going to be rethought.  Whats wrong with them?  Well depending on the page you are looking at, our access keys  are not labeled correctly, are sometimes duplicated in the same form, and are missing from other buttons where you would expect them.  We are working on this too.

More to come
For our friends who rely on 508 compliance I am sad to say that we are not fully there yet, but we are working on closing the gap.   The 6.4 release is the first step and we plan to use it to gain momentum towards full compliance.

6 responses to First steps toward 508 compliance in 6.4

  1. 

    These are all excellent steps. I hope this means that maybe by 6.5 email fields will be reachable and usable with TabIndex to tab through fields.

  2. 

    Hi Matthew, yeah, the email fields can be set in 6.4.0 releases.   This was addressed by bug # 48410

  3. 

    Great article. Very excited about this. Thank you for sharing.

  4. 

    any updates on additional 508 compliance progress in 6.5?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s