SharePoint4Gov Symposium - Section 508 and Data Entry in SharePoint
1. 508 COMPLIANCE, AND DATA
COLLECTION IN SHAREPOINT
Liam Cleary
Solution Architect | SharePoint MVP
2. ABOUT ME
> I dream about SharePoint
> I am a Geek – I am a techy guy
> Sometimes my wife says “it is good to me married to a geek”, wondering at
what point my name changed from Liam to Geek?
> Solution Architect @ SusQtech, Operations
> SharePoint MVP since 2007
> Working with SharePoint since 2002
> Worked on all kinds of projects
• Internet
• Intranet
• Extranet
> Involved in Architecture, Deployment, Customization and Development of
SharePoint
3. “THE POWER OF THE WEB IS IN ITS
UNIVERSALITY. ACCESS BY
EVERYONE REGARDLESS OF
DISABILITY IS AN ESSENTIAL
ASPECT.”
Tim Berners-Lee
Founder of the World Wide Web | Director of W3C
4. AGENDA
> What is Web Accessibility?
> Web Standards
> Accessible Standards
> Accessible Technology
> Accessibility Problems in SharePoint 2010
> How to make SharePoint Accessible
> Data Entry and SharePoint
> Implementing Data Entry in SharePoint
> Accessibility Implications for Data Entry
> Is it really worth it?
5. WHAT IS WEB ACCESSIBILITY?
> Site accessibility is a measure of how effective all people, including those with disabilities,
are able to access and use web pages
> Users may have:
• Learning Difficulties
• Language fluency problems
• Hearing impairment
• Vision restrictions
• Dexterity restrictions
• Work area restrictions
• Limited to mobile access
• General disabilities from age
> Assistive Devices
• Screen Readers Magnifiers, Closed Captioning & Transcripts, Voice Recognition, Eye
Tricking or even modified keyboards
7. WEB STANDARDS
> Correct Markup
• Structure
> Document Type
• HTML 4.01
• XHTML 1.0/1.1
> Document Level
• Transitional
• Strict
• Frameset
> Quirks Mode
• Backwards Compatibility with Browsers
8. ACCESSIBILITY STANDARDS
> Other industries have them
• Construction
> Way to guarantee “global” use
• Any OS
• Any Browser
• Any Device
> Standards
• WCAG 1.0/2.0
• WAI:ARIA
• Section 508
• Mandate Federal Government
• General Country Specific
> Accessibility Levels
10. ACCESSIBLE TECHNOLOGY
> Use of Assistive Technologies
• Can be used to translate information to the user
• Elements need to have text equivalents
• Images, multimedia, sounds
• Tables, frames
• Scripts, applets, objects
• Color
• Style Sheets
• Forms
> Example would be this picture
• Sighted user would see picture
• Blind or Partially sighted would hear screen reader say “image100.jpg”
11. ACCESSIBILITY IN SHAREPOINT 2010
> Standards Based
> Well-formed XHTML 1.0 Strict
• Lower-case tags
• Self-closing elements
• Attribute values wrapped in quotes
• In-line elements wrapped in block elements
• Doctypes
• WCAG 2.0 Level AA
• Microsoft Statement for SharePoint – excludes custom development
• Level A (Priority 1): SharePoint Foundation Administration and Configuration (Settings)
• Level AA (Priority 2): All Default Content Pages
• WAI:ARIA
• SharePoint 2010 Supports
> Implemented in SharePoint Foundation 2010
• Except for
• Central Administration
• Settings UI
12. ACCESSIBILITY ISSUES IN SHAREPOINT 2010
> Legacy Markup – use of name attribute on the form element
• Add name attribute to web.config
• <xhtmlConformance mode=“Strict” />
> Silverlight Web Part – does not escape JavaScript, iFrame in Safari solve cache
issue
• Add comments before loading JavaScript
• //<![CDATA[ ]]>
> Web Part Zone – Renders tables, adds non-existing attributes
• Custom Control Adapters
• Override Rendering
> Web Part Page – Renders hidden web part zone, input fields directly on page
• Custom Page Adapter
• Wrap contents in DIV
13. ACCESSIBILITY ISSUES IN SHAREPOINT 2010
> Image Field – uses HTML 4.01 store image value
• Code: Retrieve values as ImageFieldValue, write img tag
> Rich Text Editor – WAI:ARIA markup not present / Ribbon Bar is Different
• Custom Control Adapter
• Regex Replace
• 3rd Party Solution
> CSS Styles – general validation errors
• Replace with custom CSS
> In-line styles – style attribute no allowed
• Custom Page Adapter
• Regex Replace
> JavaScript links – href=“javascript:…”
• Custom Page Adapter
• Regex Replace of Links
14. HOW TO MAKE SHAREPOINT ACCESSIBLE
> Master Pages
• Images proper Alternative Text
• Logical Structure, Tags and Landmarks
• Links in Footer specifically for Assistive Technology
• Adaptive layout (utilize EM or % sizing) not pixels
• Table-less design, use DIV design
> Custom CSS
> Contrast Ratio for Colors
> Templates
> Web Part Control Adapters
• Intercept rendered HTML, selectively alter
> Page Control Adapters
• Intercept rendered HTML, selectively alter
> Regex Replacement Code
> Modify Compat.browser
> 3rd Party Vendor
17. DATA ENTRY AND SHAREPOINT
> List Form Web Part
• ListFieldIterator Control
> Data Form Web Part
> Data View Web Part
> Custom SharePoint Designer
> InfoPath Form
> Custom Code
> 3rd Party Product
18. WHAT MAKES DATA ENTRY COMPLICATED?
> Type of data you wish to capture
• Files, List Data or Both
> Security implications
• Anonymous read and write
> Audience for the Form
• Unknown – Anonymous
• Known – Logged In
> Why does it matter?
• Known = Easy
• Browser, OS, Machine
• Target approach to Audience
• Unknown = Complicated
• No standard
> Implementation of Web Accessibility Standards into out of the box approaches is complicated
> 99% time involves custom code or solution
20. ACCESSIBILITY IMPLICATIONS FOR DATA ENTRY
> Form controls get injected ID’s
• Modification to this breaks Web Part Framework
> Inbuilt JavaScript validation methods look for injected ID of control
> Form fields are not wrapped in “Label” tags
• Screen Reader Assistance
• Click label, sets focus to field
> Tab Order of Controls
> Group Relevant Controls
• InfoPath Sections can help
> Field hints and alternative text need to be set
> Add data validation to forms
> Utilize conditional formatting
> Split forms into multiple views instead of a massive form
• How many of us have seen those forms
21. OTHER OPTIONS
> 3rd Party Solutions are available
• Most web part vendors complete Voluntary Product Accessibility Template (VPAT)
• SharePoint 2010
• http://download.microsoft.com/download/A/E/C/AEC9B9BD-EAEF-4724-95B2-
6CFAB3A0C184/Microsoft_Office_SharePoint_Foundation_2010_Service_Pack_1_VPAT.docx
• http://download.microsoft.com/download/A/E/C/AEC9B9BD-EAEF-4724-95B2-
6CFAB3A0C184/Microsoft_SharePoint_Server_2010_Service_Pack_1_VPAT.docx
• http://download.microsoft.com/download/2/C/B/2CB51FB9-EF38-4E2A-8ED1-
E4E6B897103F/MicrosoftSharePointServer2010-VPAT.docx
• http://download.microsoft.com/download/2/C/B/2CB51FB9-EF38-4E2A-8ED1-
E4E6B897103F/MicrosoftSharePointFoundation2010-VPAT.docx
• SharePoint 2007
• http://download.microsoft.com/download/c/2/3/c23bc250-5f80-4d0c-a29d-
877355ff91e8/Windows%20SharePoint%20Services%203%20VPAT.doc
• Check the vendor has one
> Web Parts are only half the battle
• Full solutions are available such as HiSoftware
> Custom controls for ASP.NET and SharePoint
• Such as Telerik, DevExpress etc.
22. IS IT REALLY WORTH IT?
> Yes
> Always worth it
> Can be very expensive though
• Lots of Effort
• 3rd Party Products maybe needed
• Custom Code will be needed
• Designer will be needed for the UI elements
> “The issue in Web accessibility is the fact that blind and
visually-impaired people need the single biggest boost to
achieve equivalence, since the real-world Web is a visual
medium.”
23. TAKEAWAYS
> Accessibility is Important
• SharePoint does support some standards
> Accessibility is not just about standards but about “everyone gaining easy access, device
and browser independent”
> Harness native support then customize for more complicated items
• Code will always work – time consuming and can be expensive
• 3rd Party product will work, support from Vendor but may not support all standards
> Data Entry is the next big thing for SharePoint
• Waiting since early versions of SharePoint
• Business Connectivity Services (BCS) Read / Write brings greater capabilities
• SharePoint designer great tool for web based forms – limitations
• InfoPath works well, underused technology
• Custom code should be last option based on requirement
> Use out of the box first
• Content Types
• Lists
• Business Connectivity Services (BCS)
> Remember the Mobile Experience