#4 We must deal with changing standards. It’s part of our job.
#5 HTML5 and CSS offer some amazing ways for you to improve not only the look of your site, but also its accessibility and usability.
#6 HTML5 brings these features, which I feel are the most important out of the whole specification.
#7 CSS3 has ways to help you style things better without resorting to Javascript
#8 Accessibility really means usable by anyone. We tend to focus on things like
#9 Blind and low vision users are the ones who are obviously affected, and the hearing impaired have trouble with videos without captions. The physically impaired may have trouble working mice, and cognitive impairments can be anything from reading comprehension to dyslexia, which means you need to make wise choices about your fonts and spacing.
#10 search engines, mobile devices, slow computers, and people without javascript
#11 Who knows what this means? Build it simple, build it to work for the lowest common denominator first, add the icing.
#12 Web apps without js are still cake. They may not be as awesome as cake without frosting, but they can still be quite tasty if done right.
#13 That’s a fine line.What we really mean is that your stuff should WORK everywhere. Add the whiz-bang JavaScript at the END, not from the start.
#15 There’s not a single image on this page.
#16 but look, the content (most important part) is readable without any images.
#19 We’ve been stuck using the same tags forever. It’s time for some new ones.
#20 Overuse of Divs. Terrible disease, very contagious. You can get it from sharing code with friends or strangers. Watch out.
#21 To keep this straight we need to add comments in our code! And the only reason we have all of those divs is to make sure we have style handles.
#22 We can use less, and more meaningful, code to express our content. Sections, headings, and articles are perfect for what we need to do. We don’t need classes to tell us that things are posts.... a “post” is an article inside of the posts section!
#23 Browsers don’t actually throw up if they don’t understand an element, but you can’t style them with CSS unless you declare them. So we use JS.
#24 Once you understand how browsers can recognize these new elements, adding this library to your code should be your next step.
#25 Ever have a need to embed data into your pages that you need to access with JS?
#26 Makes it easy to see the size of the window too!
#27 We can use that data to generate the popups. No more onClicks
#29 Here’s a regular form that will do a regular post. What if we wanted this to be a form that posted with AJAX instead? Notice the data-remote attribute?
#30 use jquery to find all of those data-remote forms and turn them into AJAX requests.
#37 There are date pickers too. Only Opera implements this currently. Other devices are still catching up.
#38 Right now. Change your apps. Use these fields right now. IE doesn’t support them right away, but they’ll just be text fields.
#39 We can find elements by their attributes with CSS3, and use jQuery to bolt on the datepicker easily.
#40 No need for extra classes on form fields in most cases. Use the css3 attribute selector, supported by jQuery and other libraries.
#41 Modernizr is great for adding detection, not support, for HTML5 features. Just make sure you understand the code.
#43 Placeholder text can sometimes be helpful to your users if you use it as example text.
#44 Too much code to show thanks to IE. You cannot change a password file into a text field in IE. There are plugins available to do this work for you, and another alternative is to place the placeholder text to the right of the input field as “example” text.
#46 Autofocus places the cursor in the text field you specify.
#47 Pretty much the same detection here. And you know how to focus on a field with jQuery now. $(“field”).focus();
#49 HTML5 has native video support. The browser treats video like images now.
#74 You get equal-width columns. So you’re just spliting the content, you’re not making a “main” and “sidebar” column with this. We’re talking newspapers here.
#88 Put those URLs in parenthesis after each link in the printed version of your page. Very handy!
#90 All the sub elements are editable too! You can have change or blur events attached and you just persist the changes to the backend using AJAX.
#91 You’ll need an action to submit your edits to anyway.
#95 We can easily set and get items using the simple API.
#96 A fallback solution is easy to create with only about 30 lines of JS or one of the various plugins available. Just remember that these are cookie-based.
#97 Localstorage persists in a local key/value store in your browser. It’s relatively secure, and the main key is the domain you’re browsing. LocalStorage stuff never leaves your browser either, unlike cookies.
#117 Screenreaders see the polite region and know that not only does it update, but that updates shouldn’t interrupt the reader when it’s reading other areas.
#118 We can help screenreaders find areas of the page with important content.
#119 Really handy way to help screenreader users find elements. “Documents” are static documents we read. Screenreaders have shortcut keys for navigating. “Application” role tells screenreaders to turn off the shortcut keys so that the apps can use those shortcut keys instead.
#121 Ok, so here are the things I think you should do right now, when you leave this room, start implementing these things today:
#122 This site will let you try HTML5 and CSS3 things right in your browser.
#123 I hear this book is pretty good. It’s available now as a PDF and will be in bookstores in December.