Cover page images (keys)

Web Applications Enabled

Techshare 2009
16 September 2009
Michael Cooper, cooper@w3.org

Plan for the day

Detailed agenda

Time SessionPresenter
10:00 – 11:00Overview and Introduction to WCAG and WAI-ARIA Michael Cooper
11:00 – 11:30Break
11:30 – 12:30 Session 1: Browser and Screen Reader Implementations Steven Faulkner
12:30 – 13:30 Lunch
13:30 – 14:15 Session 2: Authoring Practices and Frameworks I Andrew Ronksley
14:15 – 15:00 Session 3: Authoring Practices and Frameworks II Joshue O'Connor
15:00 – 15:30 Break
15:30 – 16:15 Session 4: Example Application and Solution I Lynn Holdsworth
16:15 – 17:00 Session 5: Example Application and Solution II Artur Ortega
17:00 – 17:30 Closing Q&A Michael Cooper

Michael Cooper

Introduction

Before I get going…

WCAG 2.0

WCAG 2.0 for WCAG 1.0 Users

Comparison with WCAG 1.0

Comparison of WCAG 1.0 Checkpoints to WCAG 2.0

WCAG 2.0 materials

Versions of WCAG 2.0

Conformance levels

Level A

Level AA

Level AAA

Conformance

Programmatically determined

Example: Programmatically determined image

  Not programmatically determined Caption and redundant alt Caption programmatically determined
Example

Manji making a face

Mangi making a face

Manji making a face

Manji making a face

Code <img src="manji.png" /> <p>Manji making a face</p> <img src="manji.png" alt="Mangi making a face" /> <p>Manji making a face</p> <img src="manji.png" aria-labelledby="img_ex1" /> <p id="img_ex1">Manji making a face</p>
Screen reader "graphic Manji making a face" "Manji making a face Manji making a face" "Manji making a face"

Example: Programmatically determined link text

ExampleCode
<ul> <li>Check out the video report for last year's <a href="http://example.com/festival.htm"> National Folk Festival</a>. </li> </ul>

Article title

Description of article

Read more

<h3>Article title</h3> <p>Description of article</p> <p><a href="http://example.com/">Read more</a></p>

Accessibility support

Techniques

Rich web applications

Rich Web Application Development with WCAG 2.0

The Rich Web Application challenge

Basic steps to make application accessible

  1. Explicitly hide decorative elements of the application design from AT (SC 1.1.1)
  2. Define relationships amongst elements (SC 1.3.1)
  3. Define meaningful reading sequence (SC 1.3.2) and navigation sequence (SC 2.4.3)
  4. Provide ways to pause audio (SC 1.4.2) and movement (SC 2.2.2)
  5. Make application keyboard accessible (SC 2.1.1) and don't trap keyboard (SC 2.1.2)
  6. Ensure focus is visible (SC 2.4.7)
  7. Don't change context unexpectedly when control receives focus (SC 3.2.1) or changes value (SC 3.2.2)
  8. Give user interface components programatically determined name, role, states, properties, value (SC 4.1.2)

Making elements focusable

Focus highlighting

Cover page images (keys)

WAI-ARIA: the Semantic Solution

ARIA Materials

ARIA concepts

ARIA Taxonomy

ARIA Taxonomy

Example: ARIA button

  HTML Button Styled "Button" ARIA Button
Example Styled ARIA
Code <button onclick="updateButton ('HTML Button')> HTML </button> <span class="mybutton" onclick="updateButton ('HTML "Button"')"> Styled </span> <span class="mybutton" onclick="updateButton ('HTML "Button"')" role="button"> ARIA </span>
Screen reader "Button HTML" "Styled" "Button ARIA"

Notes about these examples:

Example: Toggle button

ExampleCode
Pick your poison





<button onclick="exToggleCheckboxes()" role="button" aria-pressed="false"> Check all </button> function exToggleCheckboxes() { var curState = button.getAttribute("aria-pressed"); //for each checkbox if (curState == "false" || curState == "mixed") element.checked = true; else element.checked = false; }

Notes about this example:

Roles

  1. Abstract roles—part of taxonony, not to be used
  2. Widgets, e.g., checkbox, menu, progressbar, tabpanel, treegrid…
  3. Document structure, e.g., heading, img, list, math, presentation…
  4. Landmark roles, e.g., main, navigation, search…

Complex Widgets

Drag and Drop

Relationships

Live Regions

0

<div aria-live="polite" aria-relevant="text">0</div>

Live regions have content that updates without user intervention, e.g., stock tickers, chat programs

ARIA is a Last Call Working Draft

How WAI Develops Accessibility Guidelines through the W3C Process

  1. draft documents:Working Draft
  2. complete technical report:Last Call Working Draft
  3. using computer with technical report:Candidate Recommendation
  4. endorsing technical report:Proposed Recommendation
  5. approved technical report:W3C Recommendation (Web Standard)

What about HTML 5?

HTML 5

Thank you

Questions?

Michael Cooper: cooper@w3.org

This presentation: http://www.w3.org/2009/Talks/09-16-TECHSHARE-MC/