WCAG 2.0 training & orientation Fundamentals and how-to’s for web & content developers Developer’s course overview • Overview and understanding WCAG 2.0 • Page content and behavior • Navigation • Images and Flash • Forms and form behavior • Client-side scripting • Working WCAG into your development cycle • Top ten issue recap Beyond the legality Understanding the importance of compliance to WCAG 2.0 guidelines • Standards that are accepted world-wide • Improved development practices and end results • It’s in the statutes and will be an enterprise-wide baseline • Everyone benefits from these improvements WCAG principle: POUR Developing with the POUR model • Perceivable • Operable • Understandable • Robust WCAG principle: POUR Developing with the POUR model: perceivable • Non-text elements must have a text alternative • Provide alternatives for time-based media • Create content that can be presented in different ways without losing structure or information • Give sufficient distinction between foreground and background (not just text and images of text, but audio and video as well) WCAG principle: POUR Developing with the POUR model: operable • Make all functionality available from a keyboard • Provide sufficient time to read and use content • Do not design in ways that cause seizures • Provide clear and consistent navigation and context WCAG principle: POUR Developing with the POUR model: understandable • Make text readable and understandable • Make your website appear and operate predictably • Help your users avoid and correct their mistakes WCAG principle: POUR Developing with the POUR model: robust • Maximize compatibility with current and future user agents • Support for assistive technologies Page content presentation & behavior Your content is perceivable • Received via sight, hearing or touch • Context and relationship is conveyed through mark-up • Always use proper document structure • Your content is distinguishable and adaptable • Separation of content from presentation • Do not depend upon visuals to convey information Your website is perceivable Layers of separation for web content • Content is format neutral • Formatting unique to end use • Easier to migrate and re-tool • Benefits of re-use of content /code Page content presentation & behavior Your website is operable • Interactive, allowing multiple ways of accessing info • Concerns with time limitations (remember state) • Keyboard accessible (no mouse-only restrictions) • Your content, forms and applications are navigable • Help the user recover from errors (prevention is key) Page content presentation & behavior Your website is understandable • Language barriers (when applicable) are addressed • Meaning enhanced with supplemental information • Predictable page behavior • Relevant helps and assistance with user interaction • Self-descriptive links (“click here” is not helpful) Navigation is intuitive Your navigation is perceivable • Proper context and structure to your menu system • Consistency on every page • Navigation links are intuitive and self-explanatory Navigation is intuitive Your navigation is operable • Keyboard accessible • What is your plan for no Javascript? • Skip past redundant sections to content • Considerations for disabled mouse users Navigation is intuitive Your navigation is understandable • Predictable behavior • Self-descriptive menu items • Sufficient contrast of text against background Working with images & flash Visual issues • Seizures – minimal page flashing • Alternatives to color for conveying function Working with images & flash Essential vs. non-essential images • Does it convey information? • Decorative images presented with CSS • Informative images presented in-line • ALT / title attributes • Links to descriptions for longer text • CSS alternative Working with forms Perceivable • See, hear, touch – forms accessible to all • Label tags for all input points • Exceptions: buttons (image, submit, reset) & hidden • Accessible CAPTCHA Working with forms Operable • Keyboard accessible (including on submit) • Correct tab sequence • Provide access keys for laborious and repetitive forms • For process-oriented forms, indicate their current step Working with forms Understandable • Make your form labels legible • Give clear instructions and cues to prevent mistakes • Don’t rely on color or visual elements to explain form functionality or processes Working with client-side scripting Considerations for working with Javascript • Javascript is OK, but there are associated risks • Progressive enhancement vs. Graceful degradation • Cue your user on user-driven event changes • Remember not to rely upon visual cues WCAG 2.0 integration in your process Fail to plan, plan to fail • Iterative testing reduces the burden of full-on site testing • You already test for functionality; add accessibility • It’s the right thing to do… and it’s in the statutes • Acting on WCAG 2.0 improves the quality of your site • Progressive Enhancement vs. Graceful Degradation WCAG 2.0 integration in your process Waterfall model • Requirements • Design • Implementation • Integration • Testing and debugging • Installation and maintenance WCAG 2.0 integration in your process Waterfall model: requirements • Require compliance with WCAG 2.0 guidelines • Require well-formed (x)HTML and CSS • OK to require reasonably modern browsers • Not OK to require a specific browser alone WCAG 2.0 integration in your process Waterfall model: design • Wireframes and document/page structure • Considerations with client/server side processing • How will people navigate through complex pages/forms • Correct document/code structure and CSS formatting • Content can be rendered solely as text • Plan for error handling, helps and other assistance WCAG 2.0 integration in your process Waterfall model: implementation • Pages and forms built with proper markup and structure • EVERY point of input has a label • Check tab order • Access keys for repetitive activities in long forms • Iterative testing of components and in page assembly WCAG 2.0 integration in your process Waterfall model: integration, testing & debugging • Redundancy (extra eyes) catches human error • Well-formed HTML/CSS reduces errors and debugging • Building for WCAG means well thought out code WCAG 2.0 integration in your process Waterfall model: installation and maintenance • No development effort is perfect • Address accessibility or usability issues as alerted • Striving for accessibility is evolutionary WCAG 2.0 integration in your process Spiral or Agile model • Determine objectives • Identify and resolve the risks • Development and test • Plan your next iteration WCAG 2.0 integration in your process Spiral or Agile model: determine objectives • Establish WCAG guidelines as a foundation • Consider accessibility factors into this build iteration WCAG 2.0 integration in your process Spiral or Agile model: identify and resolve risks • Plan for client-side degradation • Plan for navigating long content and complex forms • Conceptualize and construct proper page structure • Review your plan against WCAG high level areas WCAG 2.0 integration in your process Spiral or Agile model: development and test • Build it right with proper markup and structure • Test for well-formed HTML and CSS • Test for WCAG 2.0 compliance • Involve persons with disabilities into user acceptance WCAG 2.0 integration in your process Spiral or Agile model: plan the next iteration • Take note of what needs to be addressed and fixed • Bring in third parties to help with trouble issues • Minnesota STAR Program for additional assistance WCAG 2.0 top ten considerations 1. Forms • Label tags for ALL input points • Correct tab sequence • Access keys for complex, long and laborious forms that are used frequently • Navigable and able to submit with keyboard WCAG 2.0 top ten considerations 2. Document structure • Meaningful page titles • Heading tags • Tags that convey meaning (paragraph, lists, etc.) WCAG 2.0 top ten considerations 3. Navigation and links • Consistent navigation (predictable) • Skip to content • Navigating with anchor tags in long bodies of content • Meaningful link text that conveys purpose WCAG 2.0 top ten considerations 4. Images and non-text elements • ALT tags for informative images (non-decorative) • Link to descriptions for longer text blocks • Decorative images presented with CSS (not in content) • Contrast ratio between background and text WCAG 2.0 top ten considerations 5. Tables • Do NOT use tables to format your document • Tables are for tabular data • Use THEAD/TFOOT tags to convey data relationship • Rely on CSS and avoid depreciated tags WCAG 2.0 top ten considerations 6. Mouse and keyboard issues • Test and ensure you can navigate with keyboard only • Do not rely upon mouse clicks • Be cognizant of tedious clicking issues (e.g. menus) WCAG 2.0 top ten considerations 7. Client-side to server-side handling • It is OK to use Javascript • Build base-level, server-side functionality first • Add your AJAX/Javascript functionality on top • Have a plan to degrade from client- to server-side • Inform user of user input and changes in page behavior WCAG 2.0 top ten considerations 8. Cues, instructions and error handling • Inform and instruct the user • Provide contextual helps and guide user input • Offer intuitive error messages WCAG 2.0 top ten considerations 9. Display adaptation • Support multiple browser environments • Text: size, color, contrast, max width, no full justification • Allow user to override formatting WCAG 2.0 top ten considerations 10. Site and process context • Breadcrumb navigation • If there are multiple steps, indicate their context • Use title and heading tags to convey site context • Save user’s input/state if session times out • Let the user pick up where they left off • Provide a sitemap WCAG 2.0 resources Resources WCAG 2.0 http://www.w3.org/TR/WCAG20/ WebAIM accessibility testing http://wave.webaim.org/ How people with disabilities use the web http://www.w3.org/WAI/EO/Drafts/PWD-Use-Web/ Examples used in this presentation http://accessibility.designbymichael.com/examples/ WCAG 2.0 resources Tools and testing Must-have Firefox extensions: • WAVE toolbar • Web Developer Toolbar • WCAG Contrast Checker • Fangs Screen Reader Emulator WCAG 2.0 Q&A Questions? Michael Tangen | web interface designer-developer Office of Enterprise Technology michael.tangen@state.mn.us (651) 201-1045 This presentation was developed in 2010 for the Technology Accessibility project. Licensed under Creative Commons Attribution-ShareAlike 3.0 Unported License Rev 2010-09.03.0947