Contents

About the Authors

About the Technical Reviewer

Foreword

Introduction

images Chapter 1: A Somewhat Sensationalized History of HTML5

How Architecture Astronauts and the W3C Tried to Kill HTML

You Probably Use XML

XHTML Is Born, But What Does It Mean?

Draconian Error Handling (Or: Why Don’t I Just Punch You in the Face?)

OK, Not Really. But Your Browser Would Punch You in the Face

XHTML Still Meant Better HTML

But the Crazy Had Only Just Begun

XHTML 2.0: Unloved and Alone

HTML5: A New Hope . . . We Hope

The W3C Says Go to Hell

The WHATWG Is Born

It’s a Whole New World

To HTML5 and Beyond!

HTML5 Is the New Black or Hotness or Something

Is HTML5 Hype, Substance, or Both?

Hixie or Bust

XHTML 2.0 Is Dead and Everyone Is Happy

HTML5 . . . er . . . HTML, wait . . . HTML.next?

Should We Just Kill Off the W3C Altogether or Embrace It?

Reform

Destroy

Embrace

How Does New Stuff Get Added to HTML5 Now?

WHATWG and W3C Diversions

TL;DR

What We’ll Be Focusing On

images Chapter 2: The Truth About a Basic HTML5 Web Page

Formatting Changes in HTML5

What About an HTML5 Shim and CSS for the New Elements?

What About the HTML5 Boilerplate and Modernizr?

images Chapter 3: The Truth About Structuring an HTML5 Page

A Little Taste of Pain: The Sectioning Elements

Where Did These Elements Come From?

Who Cares?

The Contradiction at the Heart of HTML5’s New Elements

Outline What?

What Is an Outline, and Why Should I Care?

How We Currently Create Outlines (Even Without Realizing It)

“Sectioning” Is an Old Problem

If We Care About Blind Users, We Should Care About Headings

HTML5’s “Improved” Outlining Was Dead Before It Ever Shipped

Sneaking in Big Ideas Leads to Dead Ideas

We Forked the Spec

The Exception Is <main> (Sort Of)

How Should We Structure an HTML5 Page?

Styling Headings HTML5-Style Is Kind of Insane

This Is Not Inconsequential: People Have to Teach This Stuff

Where Does This Leave Us?

A Sane Approach to Structural Markup for Accessibility

ARIA Benefits

Layout Recommendations

images Chapter 4: The Truth About HTML5’s Structural Elements

<header>

Really, It Doesn’t Do Anything

How Can Screen Readers Use <header> When It’s Everywhere?

ARIA Alternative: Banner

Recommendation

<nav>

Good Intentions; Accessibility Disaster

ARIA Alternative: Navigation

Recommendation

<section> and <article>

<section>

<article>

So, What’s the Difference Between <article> and <section>?

<aside>

An Aside Creates an Outline Section in Weird Places

ARIA Alternative: Complementary

Recommendation

<footer>

Footer Doesn’t Do Anything Either

Fat Footer? Good Luck!

Can I ’ave a Footer, Guv’na?

ARIA Alternative: contentinfo

Recommendation

<main>

Mainly Useless Controversy

ARIA Alternative: main

Recommendation

Other ARIA Landmarks

A Funny Thing Happened…Graceful Degradation Died and JavaScript Became Mandatory

Yahoo’s JavaScript Research

Here’s What Happens…

What to Do? Oh, XP…

Uh…Web Design Community, What Happened?

Conclusion: R.I.P. HTML5 Structural Elements

images Chapter 5: The Truth About HTML5 Micro-semantics and Schema.org

Semantics in a Nutshell

These Problems Have Been Solved

There’s No Such Thing As “More” Semantic

Big Ideas in Semantic Markup: The Semantic Web

Semantics: Not Dead Yet (Or: Google & Co Drop a Micro-Semantic Bombshell)

E-commerce with Real (Micro) Semantics

Can the Real Semantics Please Stand Up?

Why Should We Care About Micro-semantics?

Schema.org: The Future of Semantics?

Couldn’t We Do This Before?

The Semantic Web We’ve Been Waiting For?

Microformats

RDFa

Microdata

Microdata and Schema.org

How Not to Launch an Initiative

What Do the People Behind Schema.org Think?

Wrapping Up: Semantics and HTML

images Chapter 6: The Truth About HTML5 and SEO

SEO in the Dark Ages

Stuff Your Keywords

HTML and SEO

But What If It Helped … Somehow?

Zombie Myths Must Die … Eventually

images Chapter 7: The Truth About HTML5’s Other New Elements

Be Bold or Die Trying

Wrap Your Anchor Around This, and Other Bits and Pieces

Wrap Anchors Around Block-Level Elements

<mark>

<figure> and <figcaption>

<time>

<details> and <summary>

<small>

<address>

<cite>

Should We Even Use These Obscure Little Tags?

images Chapter 8: The Truth About HTML5 Forms

Going Native Slowly

Forms Can Make or Break a Site

Good News, Bad News

HTML5 Forms Resources

HTML5 Forms: The No-Brainers

New Input Types: E-mail, URL, Telephone Number, and Search

Attributes: Autocomplete, Autofocus, Readonly, and Spellcheck

HTML5 Forms: The Kinda Maybes

Attribute: Placeholder

<progress>

<meter>

HTML5 Forms: The “I Wouldn’t Yet But You Can If You Really Want”

Attribute: Required

Attribute: Pattern

Input Type: Number (Spinner)

Input Type: Range (Slider)

Input Type: Date (Time/Calendar Widgets)

Input Type: Color (Color Picker)

Input Type and Element: Datalist

You Hypocrite. I Thought Requiring JavaScript Was the Worst Thing Ever

What About Accessibility?

images Chapter 9: The Truth About HTML5’s Canvas, Gaming, and Flash

Flash Is Dying, and HTML5 Is All We’ve Got

Can Canvas and HTML5 Fill the Gap?

Flash Authoring for HTML5?

And Then Apps Happened

Let’s Bury Flash-isms with Flash

We’re Not in Canvas Anymore

Cool Things with Canvas

Tooltips

Charts

Visualizations

Games

Image Manipulation

Canvas-Driven Web Apps

Drawing Interface Elements

The Sometimes Good and Sometimes Bad Canvas Emulation for IE6–8

The Haphazard World of Web Standards (Or: How Did We End Up with Canvas?)

The Canvas Element and Accessibility

The Current State of Canvas

Primitive Development Environment

Performance

Limited IE Compatibility

Again with the Glass Metaphor

HTML5 Gaming: Canvas or Not?

Is It Even Canvas?

Getting Started with Canvas Game Development

HTML Gaming: Beyond HTML5

Canvas: What’s in It for Me?

Canvas for Web Designers

Canvas for Students and Hobbyists

Canvas for Flash Designers

Suck It and See

2D Canvas’s 3D Future: WebGL

3D on the Web: WebGL Alternatives

Show Me the Demos!

HelloRun

Epic Citadel

Angry Birds

Still Early Days for WebGL

images Chapter 10: The Truth About Audio and Video in HTML5

Native <video> and <audio> in Action

The <audio> Element

<audio> Attributes

The <video> Element

Video Accessibility

API and Resources

Codecs, You’re Killing Me

The Patent Problem

H.264 Is Baked In

Google Threatens to Take Chrome WebM Only…and Then Doesn’t

Codecs: What to Do?

Reality Bites

Video Types…Oh My

Querying Supported Video Types with JavaScript

Audio and Video Media Players to the Rescue

MediaElement (Video and Audio, Free)

VideoJS (Video, Free)

Flowplayer (Video, Free and Commercial)

More Media Players

Other Flies in the HTML5 Video Ointment: DRM, Streaming, and Full-Screen Video

DRM

Streaming

Fullscreen API

Is HTML5 <audio> Ready for Games?

Wrapping Up

images Chapter 11: The Truth About SVG: The Flash Challenger That Was, Wasn’t, and Now…

SVG, SVG…

SVG: Browser Support Arrives at Last

Yes, There Is Real-World SVG We Can Use Right Now

The Many Faces of SVG

SVG in the ’00s: The Great Hope That Wasn’t

SVG Browser Support: Android, What the Hell? Oh, and IE…

SVG Demos: What Is It Good For?

SVG Girl

D3.js

Charts with Highcharts

Snap.svg-Powered Demos

Raphael.js-Powered Demos

thirteen23

DrawAStickman.com

Working with SVG

Responsive Web Design and SVG

SVG Gotchas

SVG: Heir to Flash?

images Chapter 12: The Truth About HTML5 Web Apps, Mobile, and What Comes Next

HTML5 Web App Browser Support

HTML5 on Mobile: WebKit and Beyond

Mobile Is a Moving Target: Microsoft’s Big Push

Firefox OS: Mozilla’s Ambitious Mobile Platform, and the WebAPI

HTML5 Mobile Compatibility

HTML5-Powered Content Management

The JavaScript Age

JavaScript Killed the HTML Star

Modernizr, When Can I Use . . . , and Polyfills

Modernizr

When Can I Use . . .

Polyfills

HTML5 Web App APIs

History API (pushState)

HTML5 Web Storage (and JavaScript-Rendered CSS)

Database Storage

HTML5 Offline (Application Cache)

Geolocation API

Other APIs That May Be of Interest to You

What Comes Next: HTML 5.1

Wrapping Up

images Chapter 13: The Truth About the Future of Web Design: Performance-Based Design

Operating in the Dark

Performance vs. Production

Measure When You Redesign

Let’s Get Objective

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.13.164