Table of contents : Table of Contents......Page 7 Diving In......Page 11 Conventions Used in This Book......Page 12 Safari® Books Online......Page 13 How to Contact Us......Page 14 MIME Types......Page 15 A Long Digression into How Standards Are Made......Page 16 An Unbroken Line......Page 21 A Timeline of HTML Development from 1997 to 2004......Page 23 Everything You Know About XHTML Is Wrong......Page 24 A Competing Vision......Page 25 What Working Group?......Page 26 Back to the W3C......Page 27 Further Reading......Page 28 Detection Techniques......Page 29 Canvas......Page 30 Canvas Text......Page 31 Video......Page 32 Video Formats......Page 33 Local Storage......Page 35 Offline Web Applications......Page 37 Geolocation......Page 38 Input Types......Page 39 Form Autofocus......Page 41 Microdata......Page 42 Further Reading......Page 43 The Doctype......Page 45 The Root Element......Page 47 The Element......Page 48 Character Encoding......Page 49 Friends and (Link) Relations......Page 50 rel = alternate......Page 51 Other link relations in HTML5......Page 52 New Semantic Elements in HTML5......Page 55 A Long Digression into How Browsers Handle Unknown Elements......Page 56 Headers......Page 59 Articles......Page 61 Dates and Times......Page 63 Navigation......Page 65 Footers......Page 66 Further Reading......Page 68 Diving In......Page 71 Simple Shapes......Page 72 Canvas Coordinates......Page 74 Paths......Page 75 Text......Page 77 Gradients......Page 81 Images......Page 84 What About IE?......Page 87 A Complete Example......Page 89 Further Reading......Page 93 Video Containers......Page 95 Video Codecs......Page 97 Theora......Page 98 Audio Codecs......Page 99 MPEG-1 Audio Layer 3......Page 100 Vorbis......Page 101 What Works on the Web......Page 102 Licensing Issues with H.264 Video......Page 104 Encoding Ogg Video with Firefogg......Page 105 Batch Encoding Ogg Video with ffmpeg2theora......Page 112 Encoding H.264 Video with HandBrake......Page 114 Batch Encoding H.264 Video with HandBrake......Page 121 Encoding WebM Video with ffmpeg......Page 122 At Last, the Markup......Page 124 MIME Types Rear Their Ugly Head......Page 127 A Complete Example......Page 128 Further Reading......Page 129 The Geolocation API......Page 131 Show Me the Code......Page 132 Handling Errors......Page 134 Choices! I Demand Choices!......Page 135 geo.js to the Rescue......Page 137 A Complete Example......Page 139 Further Reading......Page 140 Diving In......Page 141 A Brief History of Local Storage Hacks Before HTML5......Page 142 Introducing HTML5 Storage......Page 143 Using HTML5 Storage......Page 144 Tracking Changes to the HTML5 Storage Area......Page 145 HTML5 Storage in Action......Page 146 Beyond Named Key/Value Pairs: Competing Visions......Page 148 Further Reading......Page 149 Diving In......Page 151 The Cache Manifest......Page 152 Network Sections......Page 153 Fallback Sections......Page 154 The Flow of Events......Page 155 The Fine Art of Debugging, a.k.a. “Kill Me! Kill Me Now!”......Page 156 Let’s Build One!......Page 159 Further Reading......Page 160 Placeholder Text......Page 161 Autofocus Fields......Page 162 Email Addresses......Page 164 Web Addresses......Page 165 Numbers As Spinboxes......Page 167 Numbers As Sliders......Page 169 Date Pickers......Page 170 Search Boxes......Page 172 And One More Thing.........Page 174 Further Reading......Page 175 Diving In......Page 177 What Is Microdata?......Page 178 The Microdata Data Model......Page 179 Marking Up People......Page 182 Introducing Google Rich Snippets......Page 188 Marking Up Organizations......Page 190 Marking Up Events......Page 194 The Return of Google Rich Snippets......Page 198 Marking Up Reviews......Page 199 Further Reading......Page 203 in Vorbis format......Page 205 ......Page 206 ......Page 207 ......Page 208 ......Page 209 contentEditable......Page 210 Offline web applications......Page 211 Web SQL Database......Page 212 Further Reading......Page 213 Index......Page 215