Steve Faulkner & Hans Hillen The Paciello Group.   Examples:

Slides:



Advertisements
Similar presentations
The ARIA Technology Stack: Browsers and Screen Readers Jonathan Avila Bryan Garaventa.
Advertisements

Introduction to HTML & CSS
Everett Zufelt Tech Lead / Accessibility Accessibility of Custom User Interface Components Using WAI-ARIA.
Accessibility, Joomla! Markup languages and you
XHTML Basics.
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 |
Web 2.0 Accessibility Section 508 Coordinators Training Conference Rich Schwerdtfeger DE, SWG Accessibility Strategy and Architecture Chair: W3C WAI-ARIA.
® IBM Software Group © 2007 IBM Corporation Accessible Rich Internet Applications and Online Services Rich Schwerdtfeger IBM Distinguished Engineer, Chair.
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
Introducing HTML & XHTML:. Goals  Understand hyperlinking  Understand how tags are formed and used.  Understand HTML as a markup language  Understand.
Hans Hillen (TPG) Steve Faulkner (TPG) 02 / 25 / 13 Accessibility of HTML5 and Rich Internet Applications - CSUN
ARIA + HTML5 Steve Faulkner & Hans Hillen. DIVING IN TO SOME HTML5 Details/summary Dialog Spin button slider ARIA rules HTML/ARIA validation Tools.
 jQuery Mobile An Introduction. What is jQuery Mobile  A framework built on top of jQuery, used for creating mobile web applications  Designed to make.
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.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Alternative Views of the Web Jon Gunderson, Ph.D. Division of Rehabilitation-Education Services University of Illinois at Urbana/Champaign.
Development of Accessible E-documents and Programs for the Visually Impaired WAI-ARIA (V2011)
Lesson 4: Using HTML5 Markup.  The distinguishing characteristics of HTML5 syntax  The new HTML5 sectioning elements  Adding support for HTML5 elements.
ARIA + HTML5 Steve Faulkner & Hans Hillen The Paciello Group.
Hans Hillen (TPG) Steve Faulkner (TPG) Karl Groves (TPG) Billy Gregory (TPG)
Accessibility of HTML5 and Rich Internet Applications (Part 2) Hans Hillen Steve Faulkner.
Accessible DHTML Simon Bates David Bolter ATRC
Section 4.1 Format HTML tags Identify HTML guidelines Section 4.2 Organize Web site files and folder Use a text editor Use HTML tags and attributes Create.
Lesson 12: Working with Code-editing Features Introduction to Adobe Dreamweaver CS6 Adobe Certified Associate: Web Communication using Adobe Dreamweaver.
Accessible DOM scripting with ARIA Léonie Watson
Copyright 2007, Information Builders. Slide 1 Understanding Basic HTML Amanda Regan Technical Director June, 2008.
 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.
Web Standards Web Design – Sec 2-4 Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
XHTML By Trevor Adams. Topics Covered XHTML eXtensible HyperText Mark-up Language The beginning – HTML Web Standards Concept and syntax Elements (tags)
+ A11y assessment Lisa Liskovoi. + WCAG POUR some accessibility sugar on me Perceivable – Can I see it? Hear it? Feel it? Operable – Can I scroll it?
Steve Faulkner & Hans Hillen & Karl Groves & Billy Gregory The Paciello Group.
Dive into Mobile Guidelines for Testing Native, Hybrid, and Web Apps Susan Hewitt, Accessibility Consultant, Deque Systems Jeanine Lineback, Accessibility.
Aria Roles Informing assistive technology. What are Aria Roles A way of conveying the role or state of content or functionality. Accessible Rich Internet.
ARIA Support on Mobile Browsers Jonathan Avila Chief Accessibility Officer, SSB BART Group.
Week 8.  Form controls  Accessibility with ARIA.
Document Object Model Nasrullah. DOM When a page is loaded,browser creates a Document Object Model of the Page.
Reach More People with Zoom & Speech Built Right into Websites.
Complex UI & Access i bility 5 tips to improve accessibility when building interactive page elements Charlie Perrins, DARE.
Becky Gibson Sr. Technical Staff Member IBM Emerging HTML5 Accessibility.
1 Using jQuery JavaScript & jQuery the missing manual (Second Edition)
COMP 143 Web Development with Adobe Dreamweaver CC.
Blended HTML and CSS Fundamentals 3 rd EDITION Tutorial 1 Using HTML to Create Web Pages.
HTML Structure & syntax
DHTML.
Web Systems & Technologies
WashU Web Accessibility Users Group
Using DHTML to Enhance Web Pages
Keyboard Accessibility
Web Standards Web Design – Sec 2-3
Web Standards Web Design – Sec 2-3
Sharon Trerise & Kara Patten Graphics from webaim.org
What Designers Need to Know about Accessibility (A11y)
Rachael Sessler Trinkowsky, Ph.D., CRC, CATIS
Essentials of Web Pages
Web Accessibility Allison Kidd, Accessibility Specialist
HTML A brief introduction HTML.
Javascript and JQuery SRM DSC.
CIS 133 mashup Javascript, jQuery and XML
HTML5 - 2 Forms, Frames, Graphics.
Web Client Side Technologies Raneem Qaddoura
Web Programming and Design
WebAIM Screen Reader Survey Results
Presentation transcript:

Steve Faulkner & Hans Hillen The Paciello Group

  Examples:

If you can avoid using: — JavaScript — CSS — ARIA — HTML5 DO IT! Now back to reality...

I am not an expert I know some things about HTML5 and WAI-ARIA I know some people who know some other things about HTML5 and WAI-ARIA I will hold up a virtual sign if you ask a question I cannot answer Consider it held up when you ask a question and I look vague

Hans or Gez or Leonie or tweet

There’s a clue in the name: Accessible Rich Internet Applications

“This specification introduces features to HTML and the DOM that ease the authoring of Web-based applications.”

WAI-ARIA Introduction What is it? It’s a W3C Specification, like HTML, CSS etc.

ARIA is not so much about content ARIA is about interaction

Much of ARIA only makes sense in conjunction with scripting. Much of ARIA is about making sense of scripted interaction

ARIA Stuff that makes sense without scripting — Landmark roles — A few of the relationship attributes — A few of the document structure roles

ARIA can/could be used with any markup language. — HTML — SVG – ARIA in SVG 2ARIA in SVG 2 — MATHML — MXML — XUL

Firebug

 Issues with (accessible) rich internet applications o Number 1 is the problems associated with custom controls o Number 2 is all the other usual issues with the accessibility of web content  Number 1 can be helped by use of ARIA markup

WAI-ARIA Introduction WAI = Web Accessibility Initiative ARIA = Accessible Rich Internet Applications

source: Gmail This is the problem:

HTML:1, HEAD:1, META:7, TITLE:1, SCRIPT:103, STYLE:11, LINK:3, BODY:1, DIV:2160, H2:1, OL:2, LI:4, A:17, SPAN:596, IMG:6, TABLE:29, TBODY:29, TR:106, TD:572, NOSCRIPT:1, TEXTAREA:4, I:1, INPUT:2, svg:42, rect:158, g:2505, text:1263, path:135, tspan:45, defs:39, filter:39, feGaussianBlur:39, image:29, line:31, IFRAME:5, B:2, UL:1, TH:20, H3:10

What’s it do? OK link graphic OK

What’s it do? OK button OK To activate press spacebar

What’s gained? Correct role information: “Button” Usage instructions : “To activate press spacebar” ”

Highlight (on) Highlight (off) button Highlight pressed button Highlight aria-pressed="false"aria-pressed=“true"

What’s gained? state information: “pressed”

HTML:1, HEAD:1, META:7, TITLE:1, SCRIPT:103, STYLE:11, LINK:3, BODY:1, DIV:2160, H2:1, OL:2, LI:4, A:17, SPAN:596, IMG:6, TABLE:29, TBODY:29, TR:106, TD:572, NOSCRIPT:1, TEXTAREA:4, I:1, INPUT:2, svg:42, rect:158, g:2505, text:1263, path:135, tspan:45, defs:39, filter:39, feGaussianBlur:39, image:29, line:31, IFRAME:5, B:2, UL:1, TH:20, H3:10

Steps to make a custom button accessible

ARIA attributes rolearia-*

role widget Document structure ‘heading’ Landmark ‘main’ abstract

widget Simple ‘button’ Composite ‘menubar’ typically act as containers that manage other, contained widgets.

aria-* Widget ‘aria- checked’ Live Region ‘aria-live’ Drag & Drop ‘ aria-dragged’ Relationship ‘aria-labelledby’

ARIA roles- They are not magic! They do not (generally) add ANY interaction behaviours. Adding a role does not:  Make an element focusable  Provide keyboard events  Add properties

 There are conformance rules: o HTML5 – WAI-ARIA HTML5 – WAI-ARIA  But they are difficult to decipher o Using ARIA in HTML Using ARIA in HTML

 ARIA validation Use of ARIA in HTML<5 is non conforming and probably always will be. It doesn’t make any difference, it still works The easiest method is to use the HTML5 DOCTYPE with ARIA markup and validate using the W3C Nu Markup Validation Service.HTML5 DOCTYPEW3C Nu Markup Validation Service

The following roles are regions of the page intended as navigational landmarks. banner banner = html5* complementarycomplementary = html5 contentinfo contentinfo = html5* form form = html4 main main = html5 navigation navigation = html5 Search Application = don’t use as a landmarkdon’t use

Using WAI -ARIA Landmark Roles Using WAI -ARIA Landmark Roles | Screen reader support for HTML5 sectionsScreen reader support for HTML5 sections

aria-* Widget ‘aria- checked’ Live Region ‘aria-live’ Drag & Drop ‘ aria-dragged’ Relationship ‘aria-labelledby’

Browsers with ARIA support: rough guiderough guide – Firefox 3+ – Internet Explorer 8+ – Safari 5 (Mac/iOS) – Chrome 17 Assistive Technology: – JAWS 8 and up – WindowEyes 5.5 and up – Free screen readers: NVDA, ORCA – VoiceOver – ChromeVox Libraries (support)support – ExtJs, Jquery, Dojo, GWT, YUI, Glow + others

 JQuery o  Extjs GXT o  OpenAJAX examples o Accessibility in Tomorrows Web - WWW / 16 / 12

If you can use a native HTML element or attribute with the semantics and behaviour you require already built in, instead of re-purposing an element and adding an ARIA role, state or property to make it accessible, then do so.

Under what circumstances may this not be possible?  If the visual design constraints rule out the use of a particular native element, because the element cannot be styled as required.  If the feature is not currently available in HTML.not currently available in HTML  If the feature is available in HTML but it is not implemented or it is implemented, but accessibility support is not. accessibility support

Do not change native semantics, unless you really have to. For example: Developer wants to build a heading that's a button. Do not do this: heading button Do this: heading button Or better, do this: heading button Note: it is OK to use native HTML elements, that have similar semantics to ARIA roles used, for fallback. For example using HTML list elements for the skeleton of an ARIA enabled, scripted tree widget.list elements tree widget

All interactive ARIA controls must be usable with the keyboard. If you create a widget that a user can click or tap or drag or drop or slide or scroll a user must also be able navigate to the widget and perform an equivalent action using the keyboard. All interactive widgets must be scripted to respond to standard key strokes or key stroke combinations where applicable. For example if using role=button the element must be able to recieve focus and a user just be able to activate the action associated with the element using both the enter and the space key. Refer to the keyboard and structural navigation and design patterns sections of the WAI-ARIA 1.0 Authoring Practiceskeyboard and structural navigationdesign patternsWAI-ARIA 1.0 Authoring Practices

 Accessibility support:  New interactive elements: html5 interactive controls html5 interactive controls  Canvas: canvas examplecanvas example  Structural elements: HTML5 structural elementsHTML5 structural elements  Figure and figcaption: figures and figcaptionfigures and figcaption

FirefoxInternet ExplorerSafariChrome Windows, LinuxWindowsOSX + IOS Android + IOS + Chrome OS Zoom Keyboard CSS Zoom Keyboard CSS Zoom Keyboard Touch Zoom Keyboard Touch Browsers + Keyboard

FirefoxInternet ExplorerSafariChrome Windows OSX + IOS Android + IOS + Chrome OS shift+alt+print screen shift+alt+print screen Universal Access IOS OSX Contrast Extension Browsers + High Contrast Mode

FirefoxInternet ExplorerSafariChrome Windows, LinuxWindowsOSX + IOS Android + IOS + Chrome OS Web Developer DOM inspector Firebug Developer tools (F12) Developer tools (OSX) Developer tools (OSX + Chrome OS) Developer tools

Firefox – DOM InspectorDOM Inspector

Internet Explorer – Web Accessibility ToolbarWeb Accessibility Toolbar

aViewer

NVDANVDA – A free open source screen reader for Windows NVDA Screen Reader command key quick referencecommand key quick reference

 Aviewer (free desktop application for windows ) Aviewer  Dom Inspector (free Firefox extension) Dom Inspector  Inspect.exe (free desktop application for windows available as part of the Windows SDK) Inspect.exe  Accprobe (free open source cross platform app) Accprobe  Accessibility Inspector (free Mac app) Accessibility Inspector  Java ferret (free cross platform app) Java ferret  Accerciser (free gnome desktop app) Accerciser