Synopses & Reviews
With scores of practical recipes you can use in your projects right away, this cookbook helps you gain hands-on experience with HTML5s versatile collection of elements. You get clear solutions for handling issues with everything from markup semantics, web forms, and audio and video elements to related technologies such as geolocation and rich JavaScript APIs.
Each informative recipe includes sample code and a detailed discussion on why and how the solution works. Perfect for intermediate to advanced web and mobile web developers, this handy book lets you choose the HTML5 features that work for you—and helps you experiment with the rest.
- Test browsers for HTML5 support, and use techniques for applying unsupported features
- Discover how HTML5 makes web form implementation much simpler
- Overcome challenges for implementing native audio and video elements
- Learn techniques for using HTML5 with ARIA accessibility guidelines
- Explore examples that cover using geolocation data in your applications
- Draw images, use transparencies, add gradients and patterns, and more with Canvas
- Bring HTML5 features to life with a variety of advanced JavaScript APIs
Synopsis
Dive deep into the latest HTML5 features that really make the language shine—everything from markup semantics to Canvas, web forms, application protocols, and the latest JavaScript APIs.
With more than 100 practical tips and techniques that you can use in your projects right away, the HTML Cookbook helps you experience HTML5's versatility firsthand.
Each informative recipe includes a code solution, along with a detailed discussion into why and how it works. And each chapter has an example design to showcase the topics presented. This handy book is perfect for intermediate to advanced web and mobile web developers ready to take advantage of HTML5 immediately, with recipes on the following topics:
- Basic web syntax
- Progressive HTML5 markup techniques
- Geolocation
- Web forms
- Canvas
- Audio and video
- Microdata
- Advanced JavaScript APIs
About the Author
Christopher Schmitt has been working on the Web since 1993. He is the principal of Heatvision.com, Inc., a new media design firm, and resides in Orlando, Florida. Christopher speaks frequently about web design at conferences including South by Southwest Interactive and Web Design World. His books include "Designing CSS Web Pages" (New Riders), "Professional CSS: Cascading Style Sheets for Web Design" (Wrox), and "CSS Cookbook" (O'Reilly).
Kyle Simpson is a UI architect from Austin, TX. He is passionate about user experience, specifically optimizing the UI to be as responsive, efficient, secure, and scalable as possible.He considers JavaScript the ultimate language and is constantly tinkering with how to push it further. If something can't be done in JavaScript or web technology, he's bored by it.He has a number of open-source projects, including LABjs, HandlebarJS/BikechainJS, and flXHR, and he also is a core contributor to SWFObject.
Table of Contents
Preface; What Is HTML5?; Whats in This Book; Audience; Assumptions This Book Makes; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Fundamental Syntax and Semantics; 1.1 Introduction; 1.2 Specifying the DOCTYPE; 1.3 Specifying the Character Set; 1.4 Specifying the Language; 1.5 Optimizing <script>s and <link>s; 1.6 Adding Document Structure with HTML5s New Elements; 1.7 Choosing Between <article> and <section>; 1.8 Checking Your Document Outline; 1.9 Modifying the Document Outline; 1.10 Emphasizing Text; 1.11 Adding Importance to Text; 1.12 Highlighting Text for Reference; 1.13 Marking Up Small Print; 1.14 Defining Acronyms and Abbreviations; 1.15 Adding Links to Block-Level Content; 1.16 Marking Up Figures and Captions; 1.17 Marking Up Dates and Times; 1.18 Setting the Stage for Native Expanding and Collapsing; 1.19 Controlling the Numbering of Your Lists; 1.20 Hiding Content to Show Later; 1.21 Making Portions of a Page Editable; 1.22 Setting the Stage for Native Drag-and-Drop; Chapter 2: Progressive Markup and Techniques; 2.1 Introduction; 2.2 Adding More Semantic Meaning; 2.3 Picking a Markup Style; 2.4 Understanding Browser Support for HTML5; 2.5 Making Internet Explorer Recognize HTML5 Elements; 2.6 Detecting HTML5 Features with JavaScript; 2.7 Using HTML5 Boilerplate; 2.8 Validating HTML5; 2.9 Mapping HTML5 Elements to ID and Class Names; Chapter 3: Forms; 3.1 Introduction; 3.2 Displaying a Search Input Field; 3.3 Contact Information Input Fields; 3.4 Utilizing Date and Time Input Fields; 3.5 Number Inputs; 3.6 Selecting from a Range of Numbers; 3.7 Selecting Colors; 3.8 Creating an Editable Drop-Down; 3.9 Requiring a Form Field; 3.10 Autofocusing a Form Field; 3.11 Displaying Placeholder Text; 3.12 Disabling Autocomplete; 3.13 Restricting Values; 3.14 Making HTML5 Work in Older Browsers; 3.15 Validating Form Data in Older Browsers with JavaScript; 3.16 Example: Sample Form; Chapter 4: Native Audio; 4.1 Introduction; 4.2 Adding HTML5 Audio; 4.3 Manipulating the Audio Stream; 4.4 Generating <audio> Using JavaScript; 4.5 Visualizing <audio> Using <canvas>; 4.6 Sample Design: Custom Audio Player; Chapter 5: Native Video; 5.1 Introduction; 5.2 Adding HTML5 Video; 5.3 Ensuring Multi-Browser Video Support; 5.4 Setting Video Dimensions; 5.5 Displaying a Placeholder Image Before Video Plays; 5.6 Making Video Loop; 5.7 Sample Design: Manipulating Video with <canvas>; Chapter 6: Microdata and Custom Data; 6.1 Introduction; 6.2 Adding Microdata to Markup; 6.3 Using Microdata and Schema.org; 6.4 Adding Custom Data to Markup; 6.5 Accessing Custom Data with JavaScript; 6.6 Manipulating Custom Data; 6.7 Example: Creating a Map Application Using Custom Data; Chapter 7: Accessibility; 7.1 Introduction; 7.2 Writing Appropriate alt Text Descriptions; 7.3 Identifying Abbreviations and Acronyms; 7.4 Identifying Sections of a Page Using ARIA Landmark Roles; 7.5 Creating More Accessible Navigation Links; 7.6 Associating Form Fields with Their Labels; 7.7 Grouping Form Fields Logically; 7.8 Enabling a fieldset Dynamically; 7.9 Identifying Required Form Fields; 7.10 Using ARIA Live Regions to Announce When Dynamic Content Is Updating; Chapter 8: Geolocation; 8.1 Introduction; 8.2 Getting Basic Geolocation Data; 8.3 Getting Basic Geolocation Data with a Fallback; 8.4 Reverse Geocoding an Address with Latitude and Longitude; 8.5 Converting an Address into Latitude and Longitude; 8.6 Getting Directions from the Current Location; 8.7 Example: Starbucks to Starbucks; Chapter 9: <canvas>; 9.1 Introduction; 9.2 Drawing on a <canvas>; 9.3 Using Transparency; 9.4 Setting <canvas> Dimensions; 9.5 Using Gradients, Patterns, and Line Styles; 9.6 Pulling External Images into a <canvas> Drawing; 9.7 Setting Color Transformations; 9.8 Working with Geometric Transformations; 9.9 Placing Text on a <canvas>; 9.10 Clipping <canvas> Drawings; 9.11 Animating <canvas> Drawings; 9.12 Drawing Graphs with <canvas>; 9.13 Saving a <canvas> Drawing to a File; Chapter 10: Advanced HTML5 JavaScript; 10.1 Introduction; 10.2 Local Storage; 10.3 Application Caching; 10.4 Drag and Drop; 10.5 Web Workers; 10.6 Web Sockets; 10.7 History; 10.8 Local Files; HTML5 Resources; Colophon;