SlideShare a Scribd company logo
1 of 124
HTML5
The State of the Dis-Union
Reliable Sources
HTML5 For
Designers
Jeremy Keith
The Spec
Ian Hickson, editor
http://www.w3.org/
TR/html5/
The
Authoring
Spec
Ian Hickson, editor
http://www.w3.org/
TR/html5/author
Dive Into
HTML5
Mark Pilgrim
http://
diveintohtml5.org/
HTML5
Doctor
Rich Clark, Bruce
Lawson, Tom Leadbetter,
Jack Osborne, Mike
Robinson, Remy Sharp,
Oli Studholme
http://html5doctor.com/
HTML5
Gallery
Showcase of HTML5-
based sites
http://
html5gallery.com/
Progress
What’s the frequency, Kenneth?
Current state


 Spec is in Last Call phase
 Next step is call for implementations and review
 Arguments still exist, but their targets are smaller
HTML5 Mythbusting
Let’s Play!
HTML5 won’t be complete
for 10 years!
HTML5 won’t be complete
for 10 years!
Definition of complete
is different
HTML5 won’t be complete
for 10 years!
Definition of complete
is different
According to this
definition, CSS2 isn’t
complete
HTML5 won’t be complete
for 10 years!
Definition of complete
is different
According to this
definition, CSS2 isn’t
complete
Is curently in final
comment stage
HTML5 won’t be complete
for 10 years!
Definition of complete
is different
According to this
definition, CSS2 isn’t
complete
                        Busted!
Is curently in final
comment stage
HTML5 isn’t suported by
most browsers!
HTML5 isn’t suported by
most browsers!
New structure tags can
be enabled with a few
lines of javascript
HTML5 isn’t suported by
most browsers!
New structure tags can
be enabled with a few
lines of javascript
Can use <div
class=xxx> also
HTML5 isn’t suported by
most browsers!
New structure tags can
be enabled with a few
lines of javascript
Can use <div
class=xxx> also
HTML4 is part of
HTML5
HTML5 isn’t suported by
most browsers!
New structure tags can
be enabled with a few
lines of javascript
Can use <div
class=xxx> also
HTML4 is part of
HTML5
Little else
HTML5 isn’t suported by
most browsers!
New structure tags can
be enabled with a few
lines of javascript
Can use <div
class=xxx> also          Plausible!
HTML4 is part of
HTML5
Little else
HTML5 means XHTML is
Dead!
HTML5 means XHTML is
Dead!

HTML5 includes an
XHTML-compatible
version
HTML5 means XHTML is
Dead!

HTML5 includes an
XHTML-compatible
version
XHTML
implementations will
continue to work
HTML5 means XHTML is
Dead!

HTML5 includes an
XHTML-compatible
version
XHTML
                       Busted!
implementations will
continue to work
HTML5 Makes Flash
Irrelevant!
HTML5 Makes Flash
Irrelevant!
Video
 H.264
 Theora
 VP8
HTML5 Makes Flash
Irrelevant!
Video
  H.264
  Theora
  VP8
Interaction
  Canvas
HTML5 Makes Flash
Irrelevant!
Video
  H.264
  Theora
  VP8
              Plausible!
Interaction
  Canvas
What About WebM?
What About WebM?
WebM uses VP8 for video, Vorbis for audio, wrapped in
a Matroska (MKV) container
What About WebM?
WebM uses VP8 for video, Vorbis for audio, wrapped in
a Matroska (MKV) container
Opera 10.6 supports it, also FF and Chrome nightlies
What About WebM?
WebM uses VP8 for video, Vorbis for audio, wrapped in
a Matroska (MKV) container
Opera 10.6 supports it, also FF and Chrome nightlies
Flash will soon ship with VP8 codec, but not WebM
What About WebM?
WebM uses VP8 for video, Vorbis for audio, wrapped in
a Matroska (MKV) container
Opera 10.6 supports it, also FF and Chrome nightlies
Flash will soon ship with VP8 codec, but not WebM
IE will support VP8 codec if installed separately
What About WebM?
WebM uses VP8 for video, Vorbis for audio, wrapped in
a Matroska (MKV) container
Opera 10.6 supports it, also FF and Chrome nightlies
Flash will soon ship with VP8 codec, but not WebM
IE will support VP8 codec if installed separately
Good analysis at http://x264dev.multimedia.cx/?p=377
What About WebM?
WebM uses VP8 for video, Vorbis for audio, wrapped in
a Matroska (MKV) container
Opera 10.6 supports it, also FF and Chrome nightlies
Flash will soon ship with VP8 codec, but not WebM
IE will support VP8 codec if installed separately
Good analysis at http://x264dev.multimedia.cx/?p=377
License prohibits Apple and MS from using it
Thinking in HTML5
Thinking in HTML5
Outline your document
  Map document sections to sections of your outline
  Use sectioning elements to reflect that structure
  http://gsnedders.html5.org/outliner/
Thinking in HTML5
Outline your document
  Map document sections to sections of your outline
  Use sectioning elements to reflect that structure
  http://gsnedders.html5.org/outliner/
Expand to more complete site outline
  Aids document processing
Using the New Structure
Elements
Using the New Structure
Elements
They’re not just <div>’s with a new name
Using the New Structure
Elements
They’re not just <div>’s with a new name
They have semantic meanings which can be used by
assistive technologies
  Can locate navigation links more easily
  Locate page’s main content easily
  Pages can be meaningfully processed (SEO, etc.)
Using Sectioning Elements
Using Sectioning Elements


There are far more in HTML5 than just <div>
Using Sectioning Elements


There are far more in HTML5 than just <div>
To avoid confusion, ask yourself a series of questions
about the content of the section to help clarify your
choice
Is it introductory info?
Is it introductory info?


 This info could also include a ToC or other nav aids,
 such as search forms.
Is it introductory info?


 This info could also include a ToC or other nav aids,
 such as search forms.
 If yes, mark it up as <header>
Does it contain summary
information?
Does it contain summary
information?

This sort of information would include info such as
copyright date, author information, links to related
documents, etc.
Does it contain summary
information?

This sort of information would include info such as
copyright date, author information, links to related
documents, etc.
If yes, mark it up as <footer>
Is it a major navigation
block?
Is it a major navigation
block?


 If yes, use the <nav> element to mark it up
Does it make sense as a
standalone item?
Does it make sense as a
standalone item?


If yes, mark it up as <article>
Is it directly related to the
main content?
Is it directly related to the
main content?
 If yes, it’s either <aside> or <figure>
Is it directly related to the
main content?
 If yes, it’s either <aside> or <figure>
     Is it required in order to understand the content?
Is it directly related to the
main content?
 If yes, it’s either <aside> or <figure>
     Is it required in order to understand the content?
        If no, mark it up as <aside>
Is it directly related to the
main content?
 If yes, it’s either <aside> or <figure>
     Is it required in order to understand the content?
        If no, mark it up as <aside>
        If yes, could it also be an appendix?
Is it directly related to the
main content?
 If yes, it’s either <aside> or <figure>
     Is it required in order to understand the content?
        If no, mark it up as <aside>
        If yes, could it also be an appendix?
          If yes, mark it up as <figure>
Is it directly related to the
main content?
 If yes, it’s either <aside> or <figure>
     Is it required in order to understand the content?
        If no, mark it up as <aside>
        If yes, could it also be an appendix?
          If yes, mark it up as <figure>
          If no, it’s really part of the main content (see
          next question)
Might it logically have its
own heading?
Might it logically have its
own heading?


 If yes, mark it up as a <section>
Does it have semantic
meaning?
Does it have semantic
meaning?

If yes, mark it up with the element that reflects its
semantic value
Does it have semantic
meaning?

If yes, mark it up with the element that reflects its
semantic value
If no, then use a <div>
<audio>
          Browser   mp3   Vorbis   wav   AAC


          Firefox           x      x
          Opera             x      x
           Safari   x              x     x
          Chrome    x       x
            IE9     x              ?     x
<audio>
                        Browser   mp3   Vorbis   wav   AAC
Problematic, due to
lack of unified suport   Firefox           x      x
                        Opera             x      x
                         Safari   x              x     x
                        Chrome    x       x
                          IE9     x              ?     x
<audio>
                          Browser   mp3   Vorbis   wav   AAC
Problematic, due to
lack of unified suport     Firefox           x      x

Element allows fallback   Opera             x      x
sources                    Safari   x              x     x
                          Chrome    x       x
                            IE9     x              ?     x
<audio>
                          Browser   mp3   Vorbis   wav   AAC
Problematic, due to
lack of unified suport     Firefox           x      x

Element allows fallback   Opera             x      x
sources                    Safari   x              x     x
http://dev.opera.com/     Chrome    x       x
articles/view/html5-
audio-radio-player/         IE9     x              ?     x
<video>
          Browser   Theora   H.264   WebM

          Chrome      x       x       *
          Firefox     x               *
            IE9                *
          Opera       x               x
           Safari             x
<video>
                  Browser   Theora   H.264   WebM
Lacks universal
support           Chrome      x       x       *
                  Firefox     x               *
                    IE9                *
                  Opera       x               x
                   Safari             x
<video>
                      Browser   Theora   H.264   WebM
Lacks universal
support               Chrome      x       x       *
                      Firefox     x               *
Allows for fallback
sources                 IE9                *
                      Opera       x               x
                       Safari             x
<video>
                        Browser   Theora   H.264   WebM
Lacks universal
support                 Chrome      x       x       *
                        Firefox     x               *
Allows for fallback
sources                   IE9                *
IE9 will support VP8    Opera       x               x
codec with separate      Safari             x
install, but not WebM
Flash as fallback
Flash as fallback


 Currently supports H.264 video on all supported
 platforms
Flash as fallback


 Currently supports H.264 video on all supported
 platforms
 Announced support for VP8, not WebM, and so far no
 working examples.
Video Delivery
Video Delivery

 http://camendesign.com/code/video_for_everybody
Video Delivery

 http://camendesign.com/code/video_for_everybody
   HTML solution which uses multiple sources to
   support video delivery, falling back to Flash, and even
   to .wmv files
Video Delivery

 http://camendesign.com/code/video_for_everybody
   HTML solution which uses multiple sources to
   support video delivery, falling back to Flash, and even
   to .wmv files
 http://www.html5video.org/
Video Delivery

 http://camendesign.com/code/video_for_everybody
   HTML solution which uses multiple sources to
   support video delivery, falling back to Flash, and even
   to .wmv files
 http://www.html5video.org/
   Aggregation of many javascript-based solutions
<details>
<details>

 Expandable box containing further information
<details>

 Expandable box containing further information
 Contains <summary> element (title of details box)
 followed by flow content
<details>

 Expandable box containing further information
 Contains <summary> element (title of details box)
 followed by flow content
 Enables authors to implant further details in a page
 without resorting to javascript
Forms
Forms

Most <form> improvements mimic current javascript
practice
Forms

Most <form> improvements mimic current javascript
practice
Support for them is currently spotty and idiosyncratic
Forms

Most <form> improvements mimic current javascript
practice
Support for them is currently spotty and idiosyncratic
Best practice is to set up a fallback to javascript for
dumb browsers to use.
New Form Field Attributes
New Form Field Attributes

autofocus
  Focus will automatically start on this field
New Form Field Attributes

autofocus
  Focus will automatically start on this field
placeholder
  Placeholder text
New Form Field Attributes

autofocus
  Focus will automatically start on this field
placeholder
  Placeholder text
use javascript fallback
  if (!("autofocus" in document.createElement("input")))
New <input> types
New <input> types

Email, URL, Search, Color
New <input> types

Email, URL, Search, Color
Number, Range
  min, max, step, value
  stepUp, stepDown, valueAsNumber
New <input> types

Email, URL, Search, Color
Number, Range
  min, max, step, value
  stepUp, stepDown, valueAsNumber
Date
Why use them?
Why use them?

If not supported, no effect on browser
Why use them?

If not supported, no effect on browser
Some user agents can modify behavior accordingly
Why use them?

If not supported, no effect on browser
Some user agents can modify behavior accordingly
If supported, built-in-browser validation will check them
for you
Why use them?

If not supported, no effect on browser
Some user agents can modify behavior accordingly
If supported, built-in-browser validation will check them
for you
  pattern attribute supplies regex for “normal” fields
Why use them?

If not supported, no effect on browser
Some user agents can modify behavior accordingly
If supported, built-in-browser validation will check them
for you
  pattern attribute supplies regex for “normal” fields
If not supported, use a js fallback
But they don’t work
   everywhere!!
A simple fix
A simple fix

 HTML5Shiv (Fixes IE to recognize new structure
 elements)
A simple fix

 HTML5Shiv (Fixes IE to recognize new structure
 elements)
   proposed by John Resig, coded by Remy Sharp
A simple fix

 HTML5Shiv (Fixes IE to recognize new structure
 elements)
   proposed by John Resig, coded by Remy Sharp
   http://html5shiv.googlecode.com/svn/trunk/html5.js
A simple fix

 HTML5Shiv (Fixes IE to recognize new structure
 elements)
   proposed by John Resig, coded by Remy Sharp
   http://html5shiv.googlecode.com/svn/trunk/html5.js
   Include <script src="http://
   html5shiv.googlecode.com/svn/trunk/html5.js"></
   script> with a conditional comment
Say “Hello” to my little friend
Say “Hello” to my little friend

 Modernizr.js
Say “Hello” to my little friend

 Modernizr.js
   incorporates HTML5 shiv idea
Say “Hello” to my little friend

 Modernizr.js
   incorporates HTML5 shiv idea
   detects support for new field attributes and types
Say “Hello” to my little friend

 Modernizr.js
   incorporates HTML5 shiv idea
   detects support for new field attributes and types
   detects CSS3 support
Modernizr
Modernizr
Modernizr.input.attribute to test for presence of new
attribute
Modernizr
Modernizr.input.attribute to test for presence of new
attribute
Modernizr.inputtypes[inputtype] to test for presence of
new input types
Modernizr
Modernizr.input.attribute to test for presence of new
attribute
Modernizr.inputtypes[inputtype] to test for presence of
new input types
Modernizr.audio[format] for audio format support
Modernizr
Modernizr.input.attribute to test for presence of new
attribute
Modernizr.inputtypes[inputtype] to test for presence of
new input types
Modernizr.audio[format] for audio format support
CSS3 features indicated by classes attached to <html>
Modernizr
Modernizr.input.attribute to test for presence of new
attribute
Modernizr.inputtypes[inputtype] to test for presence of
new input types
Modernizr.audio[format] for audio format support
CSS3 features indicated by classes attached to <html>
http://www.modernizr.com/ (11K unzipped, minimized)

More Related Content

Similar to HTML5 Update

East of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTMLEast of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTML
Frédéric Harper
 
Moving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYCMoving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYC
Cal Henderson
 
Multimedia in Higher Education
Multimedia in Higher EducationMultimedia in Higher Education
Multimedia in Higher Education
learning20
 
Beginning html5 media, 2nd edition
Beginning html5 media, 2nd editionBeginning html5 media, 2nd edition
Beginning html5 media, 2nd edition
ser
 

Similar to HTML5 Update (20)

Html5video
Html5videoHtml5video
Html5video
 
HTML5 multimedia - where we are, where we're going
HTML5 multimedia - where we are, where we're goingHTML5 multimedia - where we are, where we're going
HTML5 multimedia - where we are, where we're going
 
HTML5: The Good, the Bad, and Everything In Between
HTML5: The Good, the Bad, and Everything In BetweenHTML5: The Good, the Bad, and Everything In Between
HTML5: The Good, the Bad, and Everything In Between
 
Html5 vs Flash video
Html5 vs Flash videoHtml5 vs Flash video
Html5 vs Flash video
 
Cross Device Accessibility
Cross Device AccessibilityCross Device Accessibility
Cross Device Accessibility
 
Html5 introduction
Html5 introductionHtml5 introduction
Html5 introduction
 
Html5 video
Html5 video Html5 video
Html5 video
 
HTML5
HTML5 HTML5
HTML5
 
Flash and HTML5 Video
Flash and HTML5 VideoFlash and HTML5 Video
Flash and HTML5 Video
 
Open Video Conference: HTML and the video tag
Open Video Conference: HTML and the video tagOpen Video Conference: HTML and the video tag
Open Video Conference: HTML and the video tag
 
East of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTMLEast of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTML
 
Moving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYCMoving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYC
 
File formats
File formatsFile formats
File formats
 
WordcampNYC 2010 - Wordpress & Multimedia (Updated)
WordcampNYC 2010 - Wordpress & Multimedia (Updated)WordcampNYC 2010 - Wordpress & Multimedia (Updated)
WordcampNYC 2010 - Wordpress & Multimedia (Updated)
 
Html5 Theora
Html5 TheoraHtml5 Theora
Html5 Theora
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
 
Multimedia in Higher Education
Multimedia in Higher EducationMultimedia in Higher Education
Multimedia in Higher Education
 
Beginning html5 media, 2nd edition
Beginning html5 media, 2nd editionBeginning html5 media, 2nd edition
Beginning html5 media, 2nd edition
 
HTML5 video & Amazon elastic transcoder - FCIP August 2014
HTML5 video & Amazon elastic transcoder - FCIP August 2014HTML5 video & Amazon elastic transcoder - FCIP August 2014
HTML5 video & Amazon elastic transcoder - FCIP August 2014
 
Developing FirefoxOS
Developing FirefoxOSDeveloping FirefoxOS
Developing FirefoxOS
 

Recently uploaded

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

HTML5 Update

  • 1. HTML5 The State of the Dis-Union
  • 4. The Spec Ian Hickson, editor http://www.w3.org/ TR/html5/
  • 7. HTML5 Doctor Rich Clark, Bruce Lawson, Tom Leadbetter, Jack Osborne, Mike Robinson, Remy Sharp, Oli Studholme http://html5doctor.com/
  • 8. HTML5 Gallery Showcase of HTML5- based sites http:// html5gallery.com/
  • 10. Current state Spec is in Last Call phase Next step is call for implementations and review Arguments still exist, but their targets are smaller
  • 12. HTML5 won’t be complete for 10 years!
  • 13. HTML5 won’t be complete for 10 years! Definition of complete is different
  • 14. HTML5 won’t be complete for 10 years! Definition of complete is different According to this definition, CSS2 isn’t complete
  • 15. HTML5 won’t be complete for 10 years! Definition of complete is different According to this definition, CSS2 isn’t complete Is curently in final comment stage
  • 16. HTML5 won’t be complete for 10 years! Definition of complete is different According to this definition, CSS2 isn’t complete Busted! Is curently in final comment stage
  • 17. HTML5 isn’t suported by most browsers!
  • 18. HTML5 isn’t suported by most browsers! New structure tags can be enabled with a few lines of javascript
  • 19. HTML5 isn’t suported by most browsers! New structure tags can be enabled with a few lines of javascript Can use <div class=xxx> also
  • 20. HTML5 isn’t suported by most browsers! New structure tags can be enabled with a few lines of javascript Can use <div class=xxx> also HTML4 is part of HTML5
  • 21. HTML5 isn’t suported by most browsers! New structure tags can be enabled with a few lines of javascript Can use <div class=xxx> also HTML4 is part of HTML5 Little else
  • 22. HTML5 isn’t suported by most browsers! New structure tags can be enabled with a few lines of javascript Can use <div class=xxx> also Plausible! HTML4 is part of HTML5 Little else
  • 23. HTML5 means XHTML is Dead!
  • 24. HTML5 means XHTML is Dead! HTML5 includes an XHTML-compatible version
  • 25. HTML5 means XHTML is Dead! HTML5 includes an XHTML-compatible version XHTML implementations will continue to work
  • 26. HTML5 means XHTML is Dead! HTML5 includes an XHTML-compatible version XHTML Busted! implementations will continue to work
  • 29. HTML5 Makes Flash Irrelevant! Video H.264 Theora VP8 Interaction Canvas
  • 30. HTML5 Makes Flash Irrelevant! Video H.264 Theora VP8 Plausible! Interaction Canvas
  • 32. What About WebM? WebM uses VP8 for video, Vorbis for audio, wrapped in a Matroska (MKV) container
  • 33. What About WebM? WebM uses VP8 for video, Vorbis for audio, wrapped in a Matroska (MKV) container Opera 10.6 supports it, also FF and Chrome nightlies
  • 34. What About WebM? WebM uses VP8 for video, Vorbis for audio, wrapped in a Matroska (MKV) container Opera 10.6 supports it, also FF and Chrome nightlies Flash will soon ship with VP8 codec, but not WebM
  • 35. What About WebM? WebM uses VP8 for video, Vorbis for audio, wrapped in a Matroska (MKV) container Opera 10.6 supports it, also FF and Chrome nightlies Flash will soon ship with VP8 codec, but not WebM IE will support VP8 codec if installed separately
  • 36. What About WebM? WebM uses VP8 for video, Vorbis for audio, wrapped in a Matroska (MKV) container Opera 10.6 supports it, also FF and Chrome nightlies Flash will soon ship with VP8 codec, but not WebM IE will support VP8 codec if installed separately Good analysis at http://x264dev.multimedia.cx/?p=377
  • 37. What About WebM? WebM uses VP8 for video, Vorbis for audio, wrapped in a Matroska (MKV) container Opera 10.6 supports it, also FF and Chrome nightlies Flash will soon ship with VP8 codec, but not WebM IE will support VP8 codec if installed separately Good analysis at http://x264dev.multimedia.cx/?p=377 License prohibits Apple and MS from using it
  • 39. Thinking in HTML5 Outline your document Map document sections to sections of your outline Use sectioning elements to reflect that structure http://gsnedders.html5.org/outliner/
  • 40. Thinking in HTML5 Outline your document Map document sections to sections of your outline Use sectioning elements to reflect that structure http://gsnedders.html5.org/outliner/ Expand to more complete site outline Aids document processing
  • 41. Using the New Structure Elements
  • 42. Using the New Structure Elements They’re not just <div>’s with a new name
  • 43. Using the New Structure Elements They’re not just <div>’s with a new name They have semantic meanings which can be used by assistive technologies Can locate navigation links more easily Locate page’s main content easily Pages can be meaningfully processed (SEO, etc.)
  • 45. Using Sectioning Elements There are far more in HTML5 than just <div>
  • 46. Using Sectioning Elements There are far more in HTML5 than just <div> To avoid confusion, ask yourself a series of questions about the content of the section to help clarify your choice
  • 48. Is it introductory info? This info could also include a ToC or other nav aids, such as search forms.
  • 49. Is it introductory info? This info could also include a ToC or other nav aids, such as search forms. If yes, mark it up as <header>
  • 50. Does it contain summary information?
  • 51. Does it contain summary information? This sort of information would include info such as copyright date, author information, links to related documents, etc.
  • 52. Does it contain summary information? This sort of information would include info such as copyright date, author information, links to related documents, etc. If yes, mark it up as <footer>
  • 53. Is it a major navigation block?
  • 54. Is it a major navigation block? If yes, use the <nav> element to mark it up
  • 55. Does it make sense as a standalone item?
  • 56. Does it make sense as a standalone item? If yes, mark it up as <article>
  • 57. Is it directly related to the main content?
  • 58. Is it directly related to the main content? If yes, it’s either <aside> or <figure>
  • 59. Is it directly related to the main content? If yes, it’s either <aside> or <figure> Is it required in order to understand the content?
  • 60. Is it directly related to the main content? If yes, it’s either <aside> or <figure> Is it required in order to understand the content? If no, mark it up as <aside>
  • 61. Is it directly related to the main content? If yes, it’s either <aside> or <figure> Is it required in order to understand the content? If no, mark it up as <aside> If yes, could it also be an appendix?
  • 62. Is it directly related to the main content? If yes, it’s either <aside> or <figure> Is it required in order to understand the content? If no, mark it up as <aside> If yes, could it also be an appendix? If yes, mark it up as <figure>
  • 63. Is it directly related to the main content? If yes, it’s either <aside> or <figure> Is it required in order to understand the content? If no, mark it up as <aside> If yes, could it also be an appendix? If yes, mark it up as <figure> If no, it’s really part of the main content (see next question)
  • 64. Might it logically have its own heading?
  • 65. Might it logically have its own heading? If yes, mark it up as a <section>
  • 66. Does it have semantic meaning?
  • 67. Does it have semantic meaning? If yes, mark it up with the element that reflects its semantic value
  • 68. Does it have semantic meaning? If yes, mark it up with the element that reflects its semantic value If no, then use a <div>
  • 69. <audio> Browser mp3 Vorbis wav AAC Firefox x x Opera x x Safari x x x Chrome x x IE9 x ? x
  • 70. <audio> Browser mp3 Vorbis wav AAC Problematic, due to lack of unified suport Firefox x x Opera x x Safari x x x Chrome x x IE9 x ? x
  • 71. <audio> Browser mp3 Vorbis wav AAC Problematic, due to lack of unified suport Firefox x x Element allows fallback Opera x x sources Safari x x x Chrome x x IE9 x ? x
  • 72. <audio> Browser mp3 Vorbis wav AAC Problematic, due to lack of unified suport Firefox x x Element allows fallback Opera x x sources Safari x x x http://dev.opera.com/ Chrome x x articles/view/html5- audio-radio-player/ IE9 x ? x
  • 73. <video> Browser Theora H.264 WebM Chrome x x * Firefox x * IE9 * Opera x x Safari x
  • 74. <video> Browser Theora H.264 WebM Lacks universal support Chrome x x * Firefox x * IE9 * Opera x x Safari x
  • 75. <video> Browser Theora H.264 WebM Lacks universal support Chrome x x * Firefox x * Allows for fallback sources IE9 * Opera x x Safari x
  • 76. <video> Browser Theora H.264 WebM Lacks universal support Chrome x x * Firefox x * Allows for fallback sources IE9 * IE9 will support VP8 Opera x x codec with separate Safari x install, but not WebM
  • 78. Flash as fallback Currently supports H.264 video on all supported platforms
  • 79. Flash as fallback Currently supports H.264 video on all supported platforms Announced support for VP8, not WebM, and so far no working examples.
  • 82. Video Delivery http://camendesign.com/code/video_for_everybody HTML solution which uses multiple sources to support video delivery, falling back to Flash, and even to .wmv files
  • 83. Video Delivery http://camendesign.com/code/video_for_everybody HTML solution which uses multiple sources to support video delivery, falling back to Flash, and even to .wmv files http://www.html5video.org/
  • 84. Video Delivery http://camendesign.com/code/video_for_everybody HTML solution which uses multiple sources to support video delivery, falling back to Flash, and even to .wmv files http://www.html5video.org/ Aggregation of many javascript-based solutions
  • 86. <details> Expandable box containing further information
  • 87. <details> Expandable box containing further information Contains <summary> element (title of details box) followed by flow content
  • 88. <details> Expandable box containing further information Contains <summary> element (title of details box) followed by flow content Enables authors to implant further details in a page without resorting to javascript
  • 89. Forms
  • 90. Forms Most <form> improvements mimic current javascript practice
  • 91. Forms Most <form> improvements mimic current javascript practice Support for them is currently spotty and idiosyncratic
  • 92. Forms Most <form> improvements mimic current javascript practice Support for them is currently spotty and idiosyncratic Best practice is to set up a fallback to javascript for dumb browsers to use.
  • 93. New Form Field Attributes
  • 94. New Form Field Attributes autofocus Focus will automatically start on this field
  • 95. New Form Field Attributes autofocus Focus will automatically start on this field placeholder Placeholder text
  • 96. New Form Field Attributes autofocus Focus will automatically start on this field placeholder Placeholder text use javascript fallback if (!("autofocus" in document.createElement("input")))
  • 98. New <input> types Email, URL, Search, Color
  • 99. New <input> types Email, URL, Search, Color Number, Range min, max, step, value stepUp, stepDown, valueAsNumber
  • 100. New <input> types Email, URL, Search, Color Number, Range min, max, step, value stepUp, stepDown, valueAsNumber Date
  • 102. Why use them? If not supported, no effect on browser
  • 103. Why use them? If not supported, no effect on browser Some user agents can modify behavior accordingly
  • 104. Why use them? If not supported, no effect on browser Some user agents can modify behavior accordingly If supported, built-in-browser validation will check them for you
  • 105. Why use them? If not supported, no effect on browser Some user agents can modify behavior accordingly If supported, built-in-browser validation will check them for you pattern attribute supplies regex for “normal” fields
  • 106. Why use them? If not supported, no effect on browser Some user agents can modify behavior accordingly If supported, built-in-browser validation will check them for you pattern attribute supplies regex for “normal” fields If not supported, use a js fallback
  • 107.
  • 108. But they don’t work everywhere!!
  • 110. A simple fix HTML5Shiv (Fixes IE to recognize new structure elements)
  • 111. A simple fix HTML5Shiv (Fixes IE to recognize new structure elements) proposed by John Resig, coded by Remy Sharp
  • 112. A simple fix HTML5Shiv (Fixes IE to recognize new structure elements) proposed by John Resig, coded by Remy Sharp http://html5shiv.googlecode.com/svn/trunk/html5.js
  • 113. A simple fix HTML5Shiv (Fixes IE to recognize new structure elements) proposed by John Resig, coded by Remy Sharp http://html5shiv.googlecode.com/svn/trunk/html5.js Include <script src="http:// html5shiv.googlecode.com/svn/trunk/html5.js"></ script> with a conditional comment
  • 114. Say “Hello” to my little friend
  • 115. Say “Hello” to my little friend Modernizr.js
  • 116. Say “Hello” to my little friend Modernizr.js incorporates HTML5 shiv idea
  • 117. Say “Hello” to my little friend Modernizr.js incorporates HTML5 shiv idea detects support for new field attributes and types
  • 118. Say “Hello” to my little friend Modernizr.js incorporates HTML5 shiv idea detects support for new field attributes and types detects CSS3 support
  • 120. Modernizr Modernizr.input.attribute to test for presence of new attribute
  • 121. Modernizr Modernizr.input.attribute to test for presence of new attribute Modernizr.inputtypes[inputtype] to test for presence of new input types
  • 122. Modernizr Modernizr.input.attribute to test for presence of new attribute Modernizr.inputtypes[inputtype] to test for presence of new input types Modernizr.audio[format] for audio format support
  • 123. Modernizr Modernizr.input.attribute to test for presence of new attribute Modernizr.inputtypes[inputtype] to test for presence of new input types Modernizr.audio[format] for audio format support CSS3 features indicated by classes attached to <html>
  • 124. Modernizr Modernizr.input.attribute to test for presence of new attribute Modernizr.inputtypes[inputtype] to test for presence of new input types Modernizr.audio[format] for audio format support CSS3 features indicated by classes attached to <html> http://www.modernizr.com/ (11K unzipped, minimized)

Editor's Notes