Development of Accessible E-documents and Programs for the Visually Impaired WAI-ARIA (V2011)

Slides:



Advertisements
Similar presentations
Chapter 3 – Web Design Tables & Page Layout
Advertisements

WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
The Paciello Group Accessing Higher Ground, 2014.
ARIA Web Design and Development Patterns KEITH HAYS IT Accessibility Specialist CITES / ITaccess
Creating dynamic and accessible content in Drupal 7 using WAI-ARIA Sarah Pulis Web Accessibility Evangelist DruaplCon | Content Authoring |
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
The Web Warrior Guide to Web Design Technologies
Web 2.0 Accessibility Section 508 Coordinators Training Conference Rich Schwerdtfeger DE, SWG Accessibility Strategy and Architecture Chair: W3C WAI-ARIA.
Antranig Basman, CARET, University of Cambridge Aaron Zeckoski, CARET, University of Cambridge Josh Ryan, Arizona State University Colin Clark, Adaptive.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Chapter 1 Getting Started With Dreamweaver. Explore the Dreamweaver Workspace The Dreamweaver workspace is where you can find all the tools to create.
ARIA intro WAI ARIA The problems being addressed  Limitations of the web pidgin  The old and new webs The ARIA solution (roles, states, properties, regions,
Using Microsoft Outlook: Basics. Objectives Guided Tour of Outlook –Identification –Views Basics –Contacts –Folders –Web Access Q&A.
ARIA + HTML5 Steve Faulkner & Hans Hillen. DIVING IN TO SOME HTML5 Details/summary Dialog Spin button slider ARIA rules HTML/ARIA validation Tools.
Development of Accessible E- documents and Programs for Visually Impaired Using pc without visual control.
Scripted, Tab Accessible Tree Control Hierarchical view of data via tree control. Keyboard Navigation from initially closed tree to view above with focus.
Accessibility for Rich Internet Applications: Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre Techniques & Toolkits.
An Introduction to WAI-ARIA Dan Jackson Web Team Leader City University London.
© 2008 IBM Corporation Emerging Internet Technologies Real World Accessibility with ARIA Becky Gibson Web Accessibility Architect.
HTML5 Accessibility Ted Drake, Yahoo! Accessibility Lab Slideshare.net/7mary4.
Wikispaces in Education Tutorial Jennifer Carrier Dorman
Alternative Views of the Web Jon Gunderson, Ph.D. Division of Rehabilitation-Education Services University of Illinois at Urbana/Champaign.
Real World Accessibility Becky Gibson Dojo Accessibility Lead IBM Web Accessibility Architect.
Database-Driven Web Sites, Second Edition1 Chapter 8 Processing ASP.NET Web Forms and Working With Server Controls.
Server vs Client-side validation. JavaScript JavaScript is an object-based language. JavaScript is based on manipulating objects by modifying an object’s.
Chapter 5 Java Script And Forms JavaScript, Third Edition.
2005 Adobe Systems Incorporated. All Rights Reserved. 1 Accessibility for Rich Internet Applications Andrew Kirkpatrick Corporate Accessibility Engineering.
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Dynamic Action with Macromedia Dreamweaver MX Barry Sosinsky Valda Hilley.
ARIA + HTML5 Steve Faulkner & Hans Hillen The Paciello Group.
Publishing a Macromedia Flash Movie – Lesson 131 Publishing a Macromedia Flash Movie Lesson 13.
Website Development with Dreamweaver
Accessible DHTML Simon Bates David Bolter ATRC
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
Accessible DOM scripting with ARIA Léonie Watson
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
 2008 Pearson Education, Inc. All rights reserved Introduction to XHTML.
Functional Accessibility Evaluation of Web 2.0 Applications Testing Jon Gunderson, Ph.D University of Illinois.
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
WEB ACCESSIBILITY. WHAT IS IT? Web accessibility means that people with disabilities can use the Web. Web accessibility encompasses all disabilities that.
XP Tutorial 6 New Perspectives on JavaScript, Comprehensive1 Working with Windows and Frames Enhancing a Web Site with Interactive Windows.
JavaScript - A Web Script Language Fred Durao
USING WORDPRESS TO CREATE A WEBSITE (RATHER THAN A BLOG) STEP-BY-STEP INSTRUCTIONS.
AJAX Live Regions & Accessibility by Charles L. Chen.
Wikispaces in Education Tutorial Fatema Kashoob Nawal ALKathiri
Chapter 2: Variables, Functions, Objects, and Events JavaScript - Introductory.
Accessible DHTML Implementation Aaron Leventhal IBM Senior Engineer Firefox accessibility lead Firefox 1.5.
Aria Roles Informing assistive technology. What are Aria Roles A way of conveying the role or state of content or functionality. Accessible Rich Internet.
Chapter 1 Getting Started With Dreamweaver. Exploring the Dreamweaver Workspace The Dreamweaver workspace is where you can find all the tools to create.
USING WORDPRESS TO CREATE A WEBSITE (RATHER THAN A BLOG) STEP-BY-STEP INSTRUCTIONS.
ARIA Support on Mobile Browsers Jonathan Avila Chief Accessibility Officer, SSB BART Group.
Week 8.  Form controls  Accessibility with ARIA.
Wikispaces in Education Tutorial ESA, Region 2 Mary Teply Marge Hauser.
Understanding JavaScript and Coding Essentials Lesson 8.
Easy WP Guide V2.6 for WordPress 3.8. easywpguide.com Adding Tags within your Post Adding Tags whilst editing your Post, will automatically assign those.
Developer Exam Preparation Thom Robbins Bryan Soltis
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED FORMS.
Section 10.1 Define scripting
JavaScript, Sixth Edition
Project Management: Messages
Presented by: Bryan Garaventa, Accessibility Fellow
CARA 3.10 Major New Features
Introduction to Web Accessibility
Benchmark Series Microsoft Word 2016 Level 2
Web Development Using ASP .NET
Demystifying Web Content Accessibility Guidelines
Adobe Acrobat DC Accessibility - Metadata, Reading Order, Links
Using Microsoft Outlook: Outlook Support Number
Programming with Microsoft Visual Basic 2008 Fourth Edition
Web Programming and Design
Tutorial Introduction to help.ebsco.com.
Presentation transcript:

Development of Accessible E-documents and Programs for the Visually Impaired WAI-ARIA (V2011)

1. WAI-ARIA accessible rich internet applications a W3C protocol for enhancing and supporting accessibility of scripted and dynamic content defines a way to make web content and web applications more accessible to people with disabilities helps especially with dynamic content and advanced UI controls developed with ajax, JavaScript...

2. WAI-ARIA (2) certain functionality used in web sites is not available to some users with disabilities especially to people who rely on a screen reader and people who cannot use a mouse ARIA addresses these accessibility challenges

3. Example of the problem 1

4. Example of the problem 1 a list of items with one item expanded to show a sub-list tree control is often used for site navigation assistive technologies need to be able to interact with these controls semantic information that the A.T. need is not available with most current web technologies

5. More examples of problems drag and drop functionality: not available to users who use a keyboard only and cannot use a mouse dynamic changes: the contents of a web page changes in response to user actions or time / event based updates

6. What ARIA provides to developers roles to describe the type of widget presented, such as "menu," "treeitem," "slider," and "progressmeter" roles to describe the structure of a web page, such as headings, regions, and tables (grids) properties to describe the state widgets are in, such as "checked" for a check box, or "haspopup" for a menu.

7. What ARIA provides to developers (2) properties to define live regions of a page that are likely to get updates, as well as an interruption policy for those updates. For example, critical updates may be presented in an alert dialog box, and incidental updates occur within the page. properties for drag-and-drop that describe drag sources and drop targets a way to provide keyboard navigation for the web objects and events, such as those mentioned above

8. Roles a simple way for an author to make custom widgets (new interactive elements) accessible, usable and interoperable using roles you can assign a role name to an object that maps this object to the accessibility framework on the native platform and provides semantics needed by adaptive technologies

9. Roles (2) interaction widget structural document objects when possible, role information is mapped to a platform’s accessibility APIs roles are element types and should not change in time or after user actions

10. Roles (3) encoded in RDF (resource description framework) encoded is: the inheritance information and details of what states and properties each role supports roles are defined and described by properties

11. Roles (4) examples of properties: SupportedState: which states are supported by the role MustContain: a child element that must be contained e.g. a list must contain list items Scope: context where the role is allowed (e.g. a list item can be only inside a list)...

12. Widget roles used to announce the type of custom UI component are all mapped to accessibility APIs examples: link (interactive reference to a resource), combobox, option (a selectable item in a list), checkbox, checkboxtristate, button, menuitemradio, menuitemcheckbox, progressbar, slider, textarea, textfield, tree, treeitem,

13. Widget roles (example) <html xmlns=" xmlns:wairole=" wai-rdf/GUIRoleTaxonomy#" xmlns:aaa=" a" >...

14. Widget roles (example) <span class="checkboxtristate" id="chbox1" role="wairole:checkboxtristate" aaa:checked="mixed" onkeydown="return checkBoxEvent(event);" onclick="return checkBoxEvent(event);" tabindex="0" > A checkbox label

15. Widget roles (real examples on the web) editable grid and application menu (both are fully accessible) grid can be edited by pressing enter in a particular cell application menu works as standard menu url: archive.mozilla.org/access/dhtml/spreadsh eet

16. Structural roles describes the structure of a document help assistive technologies determine active VS. static content examples: application (notifies screen reader that it's time to switch to application mode and disable linear processing of this part), document (linear processing is ok), liveregion (can be automatically changed and so must be periodically tracked by screen reader), Grid, tabcontainer, tab,...

17. Landmarks navigational roles special roles to mark parts of a document user can use these marks to quickly find particular part of the page supported by modern screen readers easy to incorporate into existing pages

18. Available landmarks Application: a region declared as a web application as opposed to a web document Banner: a region that contains the primary heading or web site title - mainly site-oriented: usually contains logo of the site, main heading of the site and a site search tool... - only one element can be marked by this role Complementary: a supporting section of a document that remains meaningful even when separated from the main content - for example, it can be used on portals to show information like weather, TV program,...

19. Available landmarks (2) Contentinfo: Metadata that apply to the parent document, for example, footnotes, copyrights, and links to privacy statements would belong here. Main: The main content of a document can be used as an alternative to "skip to main content" link Navigation: A collection of navigational elements (usually links) for navigating the document or related documents Search: The search tool of a web document

20. Landmarks example main content...

21. Simple practical ARIA example a form with mandatory and optional fields ARIA attribute is used to mark mandatory fields automatic validation of some elements alert ARIA widget is used to notify the user about wrong contents of a particular field the contents of the alert widget are automatically reported by a screen reader

22. How it works mandatory fields are announced as required by the screen reader onhower event (triggered when focus leaves a particular control) starts validation function if a particular control contains wrong data, the alert widget is created and added to the document the alert widget automatically fires "alert event" which is caught by the screen reader and a user is informed about its content

23. Simple form Please enter your contact details Your name (required):

24. Simple form (2) address (required): Website (optional):

25. Simple form (3) Please enter your message (required):

26. checkValidity function description three parameters a trivial function which searches for the second parameter in the element in the first parameter the third parameter contains the error message see again:

27. checkValidity function javascript code function checkValidity(aID, aSearchTerm, aMsg) { var elem = document.getElementById(aID); var invalid = (elem.value.indexOf(aSearchTerm) < 0); if (invalid) {

28. checkValidity function javascript code (2) elem.setAttribute("aria-invalid", "true"); addAlert(aMsg); } else { elem.setAttribute("aria-invalid", "false"); removeOldAlert(); }

29. removeOldAlert function a simple function which looks for an element with "alert" id and removes it if possible function removeOldAlert() { var oldAlert = document.getElementById("alert"); if (oldAlert) document.body.removeChild(oldAlert); }

30. addAlert function description another simple function one parameter with text of an error message which we want to have in the alert widget Notice the special attribute to set role.

31. addAlert function javascript code function addAlert(aMsg) { removeOldAlert(); var newAlert = document.createElement("div"); newAlert.setAttribute("role", "alert"); newAlert.setAttribute("id", "alert"); var msg = document.createTextNode(aMsg); newAlert.appendChild(msg); document.body.appendChild(newAlert); }

32. Live region example The following example demonstrates how to implement logged-in users list. Live region properties are used to inform the screen reader that the contents of a particular element ( in our case) may change Screen reader tracks the contents of properly marked elements and informs blind users about changes inside the region This kind of list can be modified by e.g. a javascript function and will be perfectly accessible

33. Example of lr - html code A list of the currently- connected users. John

34. Example of lr - html code (2) Mary Ted Jane

35. Explanations of used aria options aria-live: if defined then the screen reader knows that the element is live region possible values and their meanings: - off: Updates to the region should not be presented to the user. - polite: Updates should be announced at the next graceful opportunity, such as at the end of speaking the current sentence or when the user pauses their input typing. - assertive: This information has the highest priority and user agents SHOULD notify the user immediately

36. Explanations of used aria options (2) aria-relevant: which types of changes in the region will be announced possible values and their meanings: - space-delimited list of one or more values: - additions: nodes are added to the DOM within the region - removals: nodes are removed from the DOM - text: text is added or removed from the DOM - all: equivalent to the value "additions removals text"

37. Explanations of used aria options (3) aria-describedby: identifies the element (or elements) that describes the object value can be a white-space delimited list of ids with descriptions similar to aria-labelledby

38. Resources WAI-ARIA specification: WAI-ARIA best practices: practices/ Marco Zehe's accessibility Blog (brilliant resource with examples and explanations): John Resig's userlist example: accessibility/ WAI-ARIA 1.0 User Agent Implementation Guide: Nice collection of aria examples: