Wednesday, March 10, 2010

Sharepoint 2010 Accessibility Compliance Tests

Yesterday, Tim McConnell posted a very interesting article stating what to expect from SharePoint 2010 in terms of Accessibility. Since Accessibility is a topic which is very related to compliance, I’ve decided to run a few tests against a Validation Tool to get a more objective picture.

Considering that we are still evaluating a “Release Candidate” version, the results are promising.

Fact Sheet

  • Sharepoint Test Bench
      • Sharepoint 2010 RC installation
      • Using default “Publishing Site Template” Homepage,
      • Added a calendar and a list web part
      • V4.master applied instead of nightandday.master applied by default.
      • Enabled Anonymous access
  • Validation Tool
    • Using TotalValidator v6.3.0
    • Parameters:
      • HTML Validation: none
      • Accessibility: (see table)
      • Check for broken links: no


US Section 508 Passed!
WCAG v1 A Passed!
WCAG v1 AA 4 errors
E821 - 1 instance
E833 - 3 instances
WCAG v1 AAA (idem)
WCAG v2 A 6 errors
E871 – 3 instances
E872 – 1 instance
E886 – 1 instance
E892 – 1 instance
WCAG V2 AA (idem)
WCAG V2 AAA (idem)


Full Report

Total Validator

Total errors found:
6 (WCAG v2 A: 6)

Page Layout

The line numbers refer to lines in the original source.
Any with a line number of '0' are implicit tags added by Total Validator:

39 E872 [WCAG v2 3.2.2 (A)] The submit button is missing:
     <form name="aspnetForm" method="post" action="default.aspx" id="aspnetForm">

134 E871 [WCAG v2 1.1.1 (A)] Link text is missing:
     <a id="HiddenAnchor" href="javascript:;" style="display:none;">

158 E871 [WCAG v2 1.1.1 (A)] Link text is missing:
     <a href="#" tabindex="-1" style="display:none">

158 E871 [WCAG v2 1.1.1 (A)] Link text is missing:
     <a href="#" tabindex="-1" style="display:none">

259 E886 [WCAG v2 1.1.1 (A)] Do not use the 'alt' attribute here:
     <input name="ctl00$PlaceHolderSearchArea$ctl01$S3031AEBB_InputKeywords" type="text" value="Search this
     site..." maxlength="200" id="ctl00_PlaceHolderSearchArea_ctl01_S3031AEBB_InputKeywords" accesskey="S"
     title="Search..." class="ms-sbplain" alt="Search..." onkeypress="javascript: return
     S3031AEBB_OSBEK(event);" onfocus="if (document.getElementById(&apos;ctl00_PlaceHolderSearchArea_ctl01_ctl04&apos;).value
     ==&apos;0&apos;) {this.value=&apos;&apos;; if (this.className == &apos;s4-searchbox-QueryPrompt&apos;) this.className = &apos;&apos;; else
     this.className = this.className.replace(&apos; s4-searchbox-QueryPrompt&apos;,&apos;&apos;);
     document.getElementById(&apos;ctl00_PlaceHolderSearchArea_ctl01_ctl04&apos;).value=1;}" onblur="if (this.value ==&apos;&apos;)
     {this.value=&apos;Search this site...&apos;; if (this.className.indexOf(&apos;s4-searchbox-QueryPrompt&apos;) == -1)
     this.className += this.className?&apos; s4-searchbox-QueryPrompt&apos;:&apos;s4-searchbox-QueryPrompt&apos;;
     document.getElementById(&apos;ctl00_PlaceHolderSearchArea_ctl01_ctl04&apos;).value = &apos;0&apos;} else
     {document.getElementById(&apos;ctl00_PlaceHolderSearchArea_ctl01_ctl04&apos;).value=&apos;1&apos;;}" style="width:170px;" />

402 E892 [WCAG v2 1.3.1 (A)] Use CSS for presentation effects, use <em> or <strong> for emphasis:
     <menu class="ms-SrvMenuUI">

More Information
WCAG v2 A Errors
  • E871 - 3 instance(s): Describe the purpose of a link by providing descriptive text as the content of the <a> element. The description lets a user distinguish this link from other links in the Web page and helps the user determine whether to follow the link. The URI of the destination is generally not sufficiently descriptive. See (displayed in new window)
  • E872 - 1 instance(s): You must provide a mechanism that allows users to explicitly request changes of context. The intended use of a submit button is to generate an HTTP request that submits data entered in a form, so it is an appropriate control to use for causing a change of context. See (displayed in new window)
  • E886 - 1 instance(s): Although HTML may allow the 'alt' attribute here, it should only be used on image submit buttons. User agent support for this attribute on other types of form controls is not well defined. Other mechanisms are available to label these controls. See (displayed in new window)
  • E892 - 1 instance(s): Tags that are being used purely to create a visual presentation effect should not be used. You should use CSS to control layout and presentation so that users and their aids may control it. See (displayed in new window)

Installing SharePoint 2010 RC: First Notes

I’ve just finished installing Sharepoint 2010 RC, and even when I found the setup process to be very straightforward (at least if you installed MOSS 2007 sometime) there are still a few tricky steps that I thought I could share.

Platform Setup

  • Install Windows 2008 64-bit
    • Remember to activate “Application Server Role” and “Web Server Role”
  • SQL Server
    • I recommend doing a full install, instead of using the bundled SQL Server Express
    • Install SQL Server 2008 64-bit
    • Install SQL Server 2008 SP1, 64-bit.
    • Install SQL Server 2008 Cumulative Update 2, 64-bit.
    • The final build number should be 10.00.2714.
    • Test the installation accessing the server with the SQL Management Studio and browsing the sample database.

Installing SharePoint 2010 Prerequisites

Download the installation package from here. Then launch it. (14.0.4730.1010_OfficeServer_none_ship_x64_en-us.exe)


Click on “Install software prerequisites”. The installer tool will download and install all prerequisites for you. If you don’t have Internet access from the server, you should manually download and install all pre-requisites listed here.

Then, simply follow the wizard steps.

 2 3 410

Installing SharePoint Server

After finishing installing the prerequisites, click on  “Install Sharepoint Server”, enter the Licence Key (Beta key: PKXTJ-DCM9D-6MM3V-G86P8-MJ8CY), accept the licence terms and follow the wizard steps.


When the installation wizard finishes, clear the “Run the Sharepoint Product Configuration Wizard now” checkbox. Directly executing the Configuration Wizard would require us to provide a domain account (not local) as administrator. To workarround this, we’ll create an initial Configuration Database using the PowerShell command new-SPConfigurationDatabase.


Configuring Sharepoint 2010

After runing the installation wizard, follow this steps to create an initial Configuration Database using PowerShell. (More info on provisioning Sharepoint 2010 using PowerShell here).

Next, launch the Sharepoint Products Configuration Wizard. It will recognize the previously created Configuration Database and will offer us to stay connected or disconnect from the existing farm. Choose to stay connected and click “Next”.

Then, specify the port in which the administration site will be installed. Use a number easy to remember (My pick is 1024). Then pick the security setting that best fits your environment (default = NTLM) and click “Next”.


Finally, the wizard provisions the Administration Web Site on IIS.


And that’s it. :-)

On the next post, I’ll review the first steps to configure the newly created Sharepoint 2010 farm, using the “Farm Configuration Wizard”.