HTML and CSS Reference
Prior to HTML5, error handling was never defined in the specs, leaving
browser vendors to decide how to handle markup errors. This has led to
inconsistent error-handling implementations and different page rendering
across browsers when errors are present. Now that more browsers are start-
ing to get HTML5 parsers with consistent error handling as defined in the
spec, a lot of cross-browser compatibility issues should go away.
It is really cool to be able to implement functionality like embedded video
with native HTML rather than having to resort to Flash for a number of reasons:
HTML plays nicely with other open standards, so you can style your video
or other features with CSS or directly enhance their functionality with
the code directly, because it doesn't communicate well with open standards.
A Flash movie is just a black box as far as the browser is concerned: It doesn't
understand the individual components inside the movie.
An open standards solution is more accessible, generally speaking, and
better for SEO. Text inside Flash can't be read using many screen read-
ers and search engine robots. Flash video players aren't readily keyboard
accessible, whereas keyboard accessibility is available out of the box with
(Safari and Chrome have some catching up to do here).
Having to download a Flash plug-in before you can start using content is no
big deal for tech-savvy geeks, but it can present a user-experience hurdle
for someone like my grandma.
In addition, most of the important HTML5 features have good support across
modern browsers, and you can provide alternatives and fallbacks for nonsupporting
browsers in many cases. Therefore, much of HTML5 is usable now in real-world
projects. What's good enough for youtube.com is good enough for you, right?
Yo u ' l l l o o k a t H T M L 5 f e a t u r e s i in m o r e d e t a i l l a t e r i in t h e c h a p t e r .