Microsoft Office SharePoint Server 2007 is a new web development platform of Microsoft. Its rich framework supports both collaboration features and designing, creating and delivering Web Content Management solutions. Many of these are targeted to become Internet-facing portals and websites. With this shift some new challenges appeared among which the accessibility and compliance with web standards of Internet facing WCM solutions based on SharePoint 2007.
Web Content in Microsoft Office SharePoint Server 2007
SharePoint 2007 embraces the ASP.NET 2.0 page rendering concept: it uses Master Pages and replaces pages with Page Layouts: containers responsible for displaying content and Web Parts. Unfortunately ASP.NET 2.0 and thus SharePoint 2007 render code that is not compliant with the WGAC guidelines. These guidelines describe not only how to make the information more accessible but also how to optimally incorporate the newest technologies and keep the web site manageable. As the Dutch government has defined in 2006 very strict rules extending the WGAC 1.0 guidelines some say that SharePoint 2007 cannot be used as a platform for Web Content Management solutions for organizations which require high accessibility standards among which the Dutch government.
Accessible SharePoint 2007
As a Microsoft Gold Certified Partner with broad Web Content Management experience we have decided to face the challenge and make SharePoint 2007 suit our customers’ needs. We have started by defining the key problem areas within the pages rendered by the SharePoint 2007 engine. We have divided the rendering process into custom and embedded.
Because the developers can manage the custom parts using various tools (like SharePoint Designer and Visual Studio) we have focused the embedded part which is made of the SharePoint 2007 engine responsible for rendering the page of content, Master Page, Page Layout and Web Parts. We have started by defining the key problem areas within the page rendering process used by SharePoint 2007. We have setup a research using an empty Publishing Page (DTD HTML 4.01 Strict, no Web Parts). We have determined the following problem areas:
- Invalid arguments in various HTML elements
- Invalid CSS
After adding some custom Web Parts we have noticed some more invalid HTML code incorporated into the rendered page. Using our knowledge of controlling the rendering of ASP.NET pages acquired during the Rock My Website competition we have also found out that by optimizing our Master Pages, Page Layouts and Web Parts we could reach 90% on the Dutch government accessibility check (against 76% for a Publishing Page using the out of the box available Blue Band Master Page and the Welcome page with summary links Page Layout including Web Parts).
To score the additional 10% we have improved the page rendering process.
SharePoint 2007 Publishing Pages consist of a content (stored in the content database) rendered within a Page Layout. Each Page Layout requires a Master Page which determines the global chrome of the website. In our solution we have focused on the Page Layout as it’s the last part of the page rendering process. Out of the box each Page Layout derives from the PublishingLayoutPage class in the Microsoft.SharePoint.Publishing namespace. This class extends the functionality of a basic ASP.NET 2.0 Page with among others Web Parts and Cache support. To gain the required level of control we have extended the PublishingLayoutPage class with extra functionality which guarantees compliancy of the rendered HTML code.
Using our approach we have succeeded in scoring 100% in the on-line scan.
During the research we have discovered two bugs in the on-line scan tool. The support desk maintaining the tool has confirmed these bugs and has assured us that removing these bugs will result in scoring 100% with our test page. As both bugs are still present at this moment validating our page results in showing only 98% compliancy.
Imtech SharePoint 2007 Compliancy Toolkit is a way of designing and delivering accessible Web Content Management solutions based on Microsoft Office SharePoint Server 2007. Using compliant code we support the page rendering process in SharePoint 2007 and deliver our customers accessible WCM solutions based on SharePoint 2007 development platform. The compliancy concept and experience in WCM solutions allow our engineers to design and develop accessible Master Pages, Page Layouts and Web Parts. Our consultants use the same knowledge to educate the editors how they should approach the web content management process. The technical part of the toolkit provides us the required control of the page rendering process. As the toolkit is generic and flexible we can incorporate it easily in any of our WCM solutions based on SharePoint 2007.
Imtech SharePoint 2007 Compliancy Toolkit has proven the great flexibility of SharePoint 2007 as a development platform and made developing compliant web sites possible. Now we are able to guarantee our customers compliancy to web standards we want to continue our research and focus on rendering performance. Depending on the market we could extend the scope of the toolkit and incorporate more out of the box SharePoint 2007 functionality into it. Further we could also focus on different areas of the SharePoint 2007 development platform like for example collaboration.
As a chief developer on Imtech.SharePoint.Compliancy Toolkit project I hope to be able to share with you some more technical details about our solution really soon. At this point of time I will try to answer all of your questions within the blog.