SharePoint 2007 and Section 508 Accessibility – A brief look at what it takes to become compliant

SharePoint 2007 (SharePoint hereafter) and Section 508 Accessibility are not a very happy couple. They are happy, but not very much. The relationship still needs some work 🙂 Today, we still have to deal with how SharePoint renders its pages, web part zones, OOB web parts, and navigation. Out-Of-the-Box SharePoint sites are not very accessible. On the other hand, SharePoint came a long way and today it is possible to create a fairly accessible SharePoint site if you do your homework. You have to love to code and be open to some options.

In a publicly available SharePoint site, you may have the following pieces

  • Content Pages with Rich HTML Editor controls
  • Navigation Controls
  • News and Announcement listings
  • Web Part Zones
  • Feedback and Contact Us Forms
  • Events Calendar
  • Other listings, such as FAQs or Site Maps
  • OOB Web Parts
  • Custom .NET controls, web parts, and forms

So, in order for you to properly plan for and develop an Accessible site with SharePoint, you may need to know few things. The following items will give you an idea on where to look for accessibility pitfalls and hopefully help you with the approach

  • SharePoint uses XML Schema files (Feature schema files and others) as well as content from its databases to render its pages and views
  • SharePoint uses JavaScript files for dialogs and dynamic display and insertion of HTML content on pages
  • Some SharePoint web parts, such as Page Viewer and List View web parts render IFRAMES for filtering and sorting purposes
  • Most SharePoint controls render TABLES within TABLES
  • SharePoint uses many style sheets for page viewing and editing purposes
  • SharePoint uses XSLT files to control the look and feel of some web parts and controls
  • InfoPath Browser forms use JavaScript and ASP.NET User Controls and template files to render their content

As you see above, working on an accessible site with SharePoint may require you to dig a little deeper than you used to. In general, for Section 508 compliance, you are looking to mitigate the following issues

  • TABLEs with out any TITLE, CAPTION or SUMMARY attributes
  • INPUT elements without any associated LABEL elements
  • TABLEs without any Table Header Rows  (TH)
  • IMG elements without any ALT attributes
  • ANCHOR elements without any TITLE attributes
  • Empty ALT attributes
  • Skipping main navigation and directing screen readers to main web page content (Skip to main content)
  • IFRAMES and FRAMESETS without any content that describes them or their usage (LONGDESC, textual content between FRAME elements)
  • SCRIPT elements without any NOSCRIPT on page
  • Adding support for browsers or agents that do not support JavaScript
  • Asset Picker dialog inserting hyperlinks and graphics without proper formatting
  • ActiveX controls embedded on pages (EMBED, OBJECT) without proper labeling and no textual content describing their function and intent
  • Fixed assignment of font sixes instead of percentage (%) or EM

In addition to the above issues, if you have custom code that renders content in web parts and application pages, you need to remember to apply general ASP.NET accessibility guidelines and best practices, such as:

  • Always associate your input controls with labels by creating Label controls and using the AssociatedControlID
  • Use the ToolTip property on all input controls
  • Add title, summary, or alt attributes before rendering your custom controls by using the generic Control.Attributes.Add() method

In summary, I think to get your SharePoint site up-to-par on accessibility you may need to look deeper than usual into how SharePoint processes and renders its content. So I hope there is enough information here to get you started. Look for more content on accessibility later on this blog including some tools and resources that can help guide you through the process of achieving compliance.

Take it easy!

Advertisements

About jharbieh

I'm an IW Solutions Architect with background in requirements gathering, planning, design, architecture, and development (not necessarily in the right order). Currently, my focus is on the Microsoft Productivity and Collaboration space. Hope you enjoy what I write about here. Thanks for visiting. Johnny Harbieh
This entry was posted in SharePoint Development. Bookmark the permalink.

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