200 likes | 229 Views
Silverlight and Section 508 compliance. Mark Blomsma Software architect Develop-One. Why are we here?. You are interested in aliens and think Section 508 is like area 51? You work for a company/government agency that needs to be Section 508 compliant? Your boss told you to be here?
E N D
Silverlight and Section 508 compliance Mark Blomsma Software architect Develop-One
Why are we here? • You are interested in aliens and think Section 508 is like area 51? • You work for a company/government agency that needs to be Section 508 compliant? • Your boss told you to be here? • You are the boss? © 2010 Develop-One
What is Section 508? • The Rehabilitation Act requires Federal agencies to make their electronic and information technology accessible to people with disabilities. • Under Section 508 (29 U.S.C. ‘ 794d), agencies must give disabled employees and members of the public access to information that is comparable to the access available to others. • The Maine Web Accessibility Policy is designed to meet or exceed all Federal Section 508 requirements and all WCAG "Priority 1" Checkpoints and most WCAG "Priority 2" Checkpoints. • http://www.maine.gov/oit/accessibility/policy/webpolicy.html • http://www.section508.gov/ © 2010 Develop-One
Some exemptions… • “Consistent with the law, the standards exempt systems used for military command, weaponry, intelligence, and cryptologic activities (but not routine business and administrative systems used for other defense-related purposes or by defense agencies or personnel). The standards also exempt "back office" equipment used only by service personnel for maintenance, repair, or similar purposes.” © 2010 Develop-One
508 for the Internet(s) • The criteria for 508 standards for web-based technology and information are based on access guidelines developed by the Web Accessibility Initiative of the World Wide Web Consortium. • The standards do not prohibit the use of web site graphics or animation. Instead, the standards aim to ensure that such information is also available in an accessible format. Generally, this means use of text labels or descriptors for graphics and certain format elements. © 2010 Develop-One
Section 508 - 16 requirements • A text equivalent for every non-text element shall be provided (e.g., via "alt", "longdesc", or in element content). • Equivalent alternatives for any multimedia presentation shall be synchronized with the presentation. • Web pages shall be designed so that all information conveyed with color is also available without color, for example from context or markup. • Documents shall be organized so they are readable without requiring an associated style sheet. • Redundant text links shall be provided for each active region of a server-side image map. • Client-side image maps shall be provided instead of server-side image maps except where the regions cannot be defined with an available geometric shape. • Row and column headers shall be identified for data tables. © 2010 Develop-One
Section 508 - 16 requirements • Markup shall be used to associate data cells and header cells for data tables that have two or more logical levels of row or column headers. • Frames shall be titled with text that facilitates frame identification and navigation. • Pages shall be designed to avoid causing the screen to flicker with a frequency greater than 2 Hz and lower than 55 Hz. • A text-only page, with equivalent information or functionality, shall be provided to make a web site comply with the provisions of this part, when compliance cannot be accomplished in any other way. The content of the text-only page shall be updated whenever the primary page changes. © 2010 Develop-One
Section 508 - 16 requirements • When pages utilize scripting languages to display content, or to create interface elements, the information provided by the script shall be identified with functional text that can be read by assistive technology. • When a web page requires that an applet, plug-in or other application be present on the client system to interpret page content, the page must provide a link to a plug-in or applet that complies with §1194.21(a) through (l). • When electronic forms are designed to be completed on-line, the form shall allow people using assistive technology to access the information, field elements, and functionality required for completion and submission of the form, including all directions and cues. © 2010 Develop-One
Section 508 - 16 requirements • A method shall be provided that permits users to skip repetitive navigation links. • When a timed response is required, the user shall be alerted and given sufficient time to indicate more time is required. © 2010 Develop-One
To comply… • Ensure keyboard accessibility (link) • Ensure tab order is in order, use IsTabStop & TabIndex property • Use keyboard commands for controls that can’t receive focus (like Image, Path or MediaElement) or create Custom Control for these. • Support changing font size (about 10 lines of code if done right). • Offer high contrast using custom control styles/themes (link) or SystemParameters.HighContrast. © 2010 Develop-One
Windows UI Automation • UI Automation client applications can be written with the assurance that they will work on multiple frameworks. • The UI Automation core masks any differences in the frameworks that underlie various pieces of UI. • UI Automation provides full functionality in Windows Vista, Microsoft Windows XP, and Windows Server 2003. © 2010 Develop-One
UI Automation Overview © 2010 Develop-One
UI Automation of a Silverlight • Silverlight supports UI Automation through a tree of peer automation objects that parallels the tree of user interface elements. • Manifests as attached properties to standard controls. • Override to implement compliance in custom controls. © 2010 Develop-One
Demo • Using AutomationProperties and the Windows 7 Narrator. © 2010 Develop-One
Tools • Windows NarratorThis screen reader can be used to verify your Silverlight UI Automation properties. • UI SpyTo inspect UI Automation properties of a running application. • UIA VerifyTest your UI code for right application of UIA:http://www.codeplex.com/UIAutomationVerify © 2010 Develop-One
Resources • UI Spy (part of Windows SDK) • www.section508.gov • MIX ‘09 Interview with Mark Rideout • Code Magazine: Creating Accessibility-aware Silverlight 2 Content • http://blog.develop-one.com • Windows UI Automation • Screen reader • Within OIT: MARIS Compliance Whitepaper © 2010 Develop-One
Questions? mark.blomsma@develop-one.com www.develop-one.com http://blog.develop-one.com 2/24/2010 © 2010 Develop-One © 2006 Develop-One 18
Development & consultancy services: • ASP.NET 3.5 & ASP.NET AJAX, • C# 3.5, LINQ, WF, WCF, WPF, • Team System 2008, • Visual Studio.NET, • SQL Server, • enterprise application development, • application integration, • software renovation. © 2006 Develop-One
Partners • www.omnext.net • OMNEXT is an innovative software technology company specialized in software auditing and governance, offering fully automatic software auditing of legacy and modern systems providing measurable, repeatable, predictable, and consistent quality reports. © 2006 Develop-One