Top Banner
ARIA and HTML5 Jared Smith & Jonathan Whiting webaim.org
71

ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Dec 25, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA and HTML5

Jared Smith & Jonathan Whiting webaim.org

Page 2: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Keyboard User !=

Screen Reader User

Page 3: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Screen Reader User (usually) =

Keyboard User

Page 4: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Keyboard Accessibility is Different When a Screen

Reader is Running

Page 5: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Screen Reader Navigation• Links and form controls

• Headings

• Landmarks

• Lists

• Forms

• Buttons

• etc.

Page 6: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Standard Browser Navigation

• Links and form controls

Page 7: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Use device independent event handlers or

combine mouse (e.g, onmouseover) and keyboard (e.g, onkeypress) dependent event

handlers

Device Independence

Page 8: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Ensure Interactive Elements are Links or

Form Controlsor...

make non-focusable elements focusable with tabindex

Page 9: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Avoid Tabindex

... unless you're sure you know what you're doing.

If the default tab order is not logical, fix your source code order.

Page 10: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

tabindex="1+" defines an explicit tab order

tabindex="0" allows things besides links and form elements to receive keyboard focus.

tabindex="-1" allows things besides links and form elements to receive programmatic

focus (by scripting, links, etc.)

Avoid this

Page 11: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

<div tabindex=”0” onclick=”submitForm()”>Submit

Search</div>

Page 12: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

<a onclick=”submitForm()”>Submit Search</a>

is better, but

<input type=”submit” value=”Submit Search”>

or

<button onclick=”submitForm()”>Submit Search</button>

are best!

Page 13: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Click events do not always trigger via keyboard for things other than links or form controls...

... even with tabindex=”0”

WARNING!

Page 14: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

if(event.keyCode==13 || event.keyCode==32) { doStuff(); }

Attach an onkeyup event and then check for Enter (13) and Space (32) key presses:

Page 15: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

• Allows non-focusable elements to receive programmatic focus (by scripting, links, etc.)

• Necessary for focusing dialog boxes, error messages, etc.

• WARNING: This removes the element from the default tab order.

tabindex=”-1”

Page 16: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Review• Ensure all interactive elements are links or

form controls, or make them focusable with tabindex=”0”.

• If using tabindex, detect Enter and Space key events.

• Ensure non-focusable elements (such as dialog windows) have tabindex=”-1” before focusing them programmatically.

Page 17: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Dialogs

Page 18: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Dialogs

Link, button, or tabindex=”0”

Maintains keyboard focus

if modal

Closes with ESC key

Returns focus when dismissed

tabindex=”-1” then set focus to dialog (or focus a control inside the dialog)

Page 19: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

“Freak-out” Mode

When the currently focused element disappears or is significantly modified

Avoid it or address it with focus();

Page 20: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Non-modal Dialogs

Page 21: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Carousels

Page 22: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Carousels

http://shouldiuseacarousel.com/

Page 23: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Q&A by .net magazine

http://www.netmagazine.com/news/accessibility-expert-warns-stop-using-carousels-132875

Page 24: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

An anti-carousel carousel featured in a carousel

Page 25: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Carousels

http://shouldiuseacarousel.com/

Page 26: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Carousel Issues

• Automated carousels violate WCAG 2.0 Success Criteria 2.2.2 (Level A) - Pause, Stop, Hide

• Distracting and confusing

• Difficult interaction model

• No relationship between controls and content

• “Freak-out mode” when carousel changes

• Allow poor content decisions

Page 27: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Carousel Accessibility Solutions

• Avoid auto-playing (optimal) or include a visible pause button (preferably) before the carousel

• Pause carousel on mouse hover and on keyboard focus

• Provide context for controls • Descriptive text • ARIA tab panel?

• Ensure accessible content • Ensure focused or activated items do not disappear,

or set focus when they do

Page 28: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Roving tabindex• Useful for controlling focus within interactive widgets

(menus, tab panels, tree widgets, etc.).

• Set tabindex=”0” on currently active item. This places it in the tab order.

• Set tabindex=”-1” on all other items. This removes them from the tab order and makes them focusable with scripting.

• Use focus() to set focus as user navigates within widget (arrow keys, etc.).

• tabindex=”0” roves or follows the active item allowing users to return directly to it later.

Page 29: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

http://hanshillen.github.io/jqtest/#goto_tabs

Page 30: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

In an ARIA tab panel, the entire tab group functions as one tab stop, then arrow keys are used to select the active tab.

1

3

2

Page 31: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

tabindex=0 tabindex=-1

Page 32: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

tabindex=0

tabindex=-1 tabindex=-1

Press to select the next tab

Page 33: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

tabindex=0

If you tab away from the tab panel and later return, “Cats” remains the active and focused tab because it has tabindex=0.

Page 34: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

[tabindex=0] { background:#fff;

border-color:#ddd; border-bottom:none;

}

Focus on semantics and let CSS do the heavy lifting

Page 35: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA

Page 36: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA

• Accessible Rich Internet Applications

• Specification developed by the PFWG of the W3C’s WAI. Huh?

• W3C Candidate Recommendation

Page 37: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA enhances accessibility of...

• ... dynamic content and AJAX

• ... scripted widgets and interactive controls

• ... keyboard interactions within a web page

Bridges the gap to future versions of HTML

Page 38: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA expands the vocabulary of HTML to

support what screen readers already understand

<slider>???

Page 39: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA Paves the Cow Paths

Page 40: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA Paves the Cow Paths

Page 41: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA Paves the Cow Paths

Page 42: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA Paves the Cow Paths

Page 43: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA Paves the Cow Paths

Page 44: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

You can only make things more accessible by

implementing ARIA now

… if you do it correctly

Page 45: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Roles<form role="search">

States<input aria-disabled="true">

Properties<input aria-required="true">

ARIA Core Components

Page 46: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA and Code Validation

If your (X)HTML is valid and your ARIA is valid... valid + valid = ???

Page 47: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA Landmark Roles

• banner, complementary, contentinfo, main, navigation, and search

• Allows easy access to major page components

•The end of "skip" links? Oh yeah... browser keyboard accessibility still sucks.

Page 48: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Landmark Roles

<div role="navigation" aria-label="Main navigation">

<div role="main">

<form role="search">

You can add aria-label to differentiate multiple landmarks of the same type.

Page 49: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

HTML5 and Landmark Roles Mapping

<main> - role="main" <article> - role="article"

<footer> - role="contentinfo" <header> - role="banner" <nav> - role="navigation"

<aside> - role="complementary"

ARIA Support > HTML5 Support so use both... for now

<main role="main">

Page 50: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Modifying and Enhancing Roles

Bad: <img src="submit.jpg" onclick=...>  

OK: <a onclick="..."><img src="submit.jpg"...  

Better:<a role="button" onclick="..."> <img src="submit.jpg"...  

Best: <button onclick="...">

Page 51: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

role="application"

... disables standard A.T. keystrokes to allow the page to function like a desktop application

Be very careful with <body role="application">

Some ARIA elements (tree view, slider, table, tabs, dialog, toolbar, menus, etc.) have an assumed

application role.

role="document" enables reading mode.

Page 52: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

role="presentation"

<ul role="presentation"> <li>menu item</li>

...

Hides native roles of elements (and all required descendants) from assistive technology. Useful

on layout tables, lists, etc.

Is ignored if the element is navigable (e.g., links and controls).

Page 53: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Alert Role

<div role="alert">Read me right now</div>

Also role="alertdialog"

Page 54: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

aria-hidden="true"

Indicates element (and all descendants) are hidden from all users.

You can't unhide a child element.

Use ARIA attributes to control visual appearance: [aria-hidden=true] {display:none;}

Page 55: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA Live Regions

aria-live="off | polite | assertive"

•aria-busy  •aria-atomic  -­‐  read  the  entire  region  or  only  what  has  changed  •aria-relevant  -­‐  additions,  removals,  text,  or  all  •aria-controls  • Special  live  regions:  alert  (important),  status  (not  important),  timer  (always  changing),  marquee(same  as  aria-live="polite"),  and  log  (updates  added  to  the  bottom)  

Page 56: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA Live Regions

Some highly dynamic content updates simply cannot be made accessible using ARIA

Give users control over content updates

Page 57: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Odds & Ends<div role="list" aria-describedby="listheader"> <div role="listitem">

<p id="question">What is the air-speed velocity...</p> <div role="radiogroup" aria-labelledby="question">

<a aria-haspopup="true">Open dialog</a>

<a aria-expanded="false">View details</a>

Page 58: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Odds & Ends

<ul role=“menu”>

<div role=“tablist | tab | tabpanel”>

<table role=“grid”>

etc.

Page 59: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

ARIA Design Patterns for Widget Interaction

http://www.w3.org/WAI/PF/aria-practices/#aria_ex

jQuery Components: http://hanshillen.github.io/jqtest/#goto_slider

Page 60: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

HTML5

• Adds new features - primarily for application development and enhanced semantics

• Maintains backward compatibility (mostly)

• Defines error handling for browsers

• Drops all most presentational markup

Page 61: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

HTML5 Simplifications

Why make authors do something the browser can do for them?

Things that actually work matter most.

Page 62: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

HTML5 DOCTYPE

• The last DOCTYPE you’ll ever use?

• HTML versions vs. HTML the “living standard”

• HTML5 is very much still in progress

<!DOCTYPE html>

Page 63: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

HTML5 Simplifications

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang=“en">

vs<html lang="en">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

vs <meta charset="utf-8">

Page 64: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

HTML5 Simplifications

<link rel="stylesheet" href="styles.css" type="text/css" />

vs<link rel="stylesheet" href="styles.css" />

<script type="text/javascript"> vs

<script>

<style type="text/css"> vs

<style>

Page 65: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

The Smallest Valid Accessible HTML5 Document<!doctype html> <html lang=en> <meta charset=utf-8> <title>blah</title> <p>I'm the content

HTML5 allows browsers to do much of the work.

Just because you can, doesn’t mean you should.

Page 66: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

New HTML5 Elements

• <nav>

• <header>

• <main> (one per page)

• <footer>

• <article>

• <section>

• <aside>

• …and more

Page 67: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

HTML5 - ARIA Role Mappings

• <nav> - role="navigation”

• <header> - role="banner"

• <main> role="main"

• <footer> - role="contentinfo"

• <article> - role="article"

• <aside> - role="complementary"

Page 68: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

HTML5 Sectioning Elements

• <section>, <article>, <aside> and <nav>

• Each should generally begin with a heading that describes that section

• <article> is self-contained, syndicatable

Page 69: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

HTML5 Accessibility Changes

• alt attribute is optional when <figcaption> presents an equivalent alternative for an image within a <figure>

• Dropped longdesc (subject to change)

• Dropped table summary

• ARIA markup is valid

• <video> and <audio> natively support captioning

Page 70: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

New HTML5 Input Types

• search, number, range, color, url, email, tel, date, month, week, time, datetime, datetime-local

• The browser can (or, more accurately, hopefully will) provide a natively accessible control/interface

• New form attributes - required, pattern, autocomplete, placeholder, autofocus, etc.

Page 71: ARIA and HTML5 - WebAIMwebaim.org/presentations/2015/training/ARIA.pdf · Carousel Accessibility Solutions • Avoid auto-playing (optimal) or include a visible pause button (preferably)

Questions?

Jared Smith & Jonathan Whiting webaim.org