Henri Sivonen
(Now simply “HTML”)
(Smaller)
“SVG is part of the HTML 5 family of technologies.”
— Brad Neuberg, while at Google
HTML5 Logo by W3C
Replaces HTML 4.01 / XHTML 1.0
Replaces DOM Level 2 HTML
Previously Missing!
Consortium Funded by Member Companies
(Wouldn’t pass Recommendation criteria today)
(Lower layer)
Shaping the Future of HTML Workshop
“——the goals for the next generation of forms are incompatible with preserving backwards compatibility——”
HTML 4.01 reformulated on top of XML
Not backwards-compatible
(Exact start date confidential)
Work on XAML / Avalon (to become Silverlight)
(Engine forked from KHTML)
(Reborn as Mozilla)
Too hard, too complex, too many dependencies
(Emperor is naked when not parsed as XML)
Source: http://www.w3.org/2004/04/webapps-cdf-ws/papers/opera.html
8 in favor, 14 against
Return from the Dungeon
Title: Reinventing HTML
“Some things are clearer with hindsight of several years. It is necessary to evolve HTML incrementally. The attempt to get the world to switch to XML, including quotes around attribute values and slashes in empty tags and namespaces all at once didn’t work——”
“The plan is to charter a completely new HTML group. Unlike the previous one, this one will be chartered to do incremental improvements to HTML, as also in parallel xHTML.”
Source: http://dig.csail.mit.edu/breadcrumbs/node/166
<b><i>foo</b></i>
<video>Fallback</video>
contenteditable=""
<br/>
HTML syntax supported—switch to XML not required
Identify actual problems first—then find solutions
users > authors > implementors > specifiers > theoretical purity
Protect users
Separate content and presentation—but only as a means to an end
Same API representation for HTML5 and XHTML5
Desktop, phone, audio, …
Enable publication in all world languages
Make sure features work for people with disabilities
Source: http://www.w3.org/TR/html401/
Source: http://www.whatwg.org/specs/web-apps/current-work/
Source: http://code.google.com/webstats/2005-12/classes.html
<video src=sintel.webm controls width=824 height=352> Your browser does not support HTML5 video. Download the <a href=sintel.webm>video file</a>. </video>
Sintel by the Durian project is under the Creative Commons Attribution 3.0 license
HTML5 Video Player by VideoJS
Theora | WebM | H.264 | MPEG-LA | ||
---|---|---|---|---|---|
Firefox | • | • | Mozilla | ||
Opera | • | • | Opera | ||
Chrome | • | • | |||
Safari | • | • | Apple | ||
IE9 | • | • | Microsoft |
Theora | WebM | H.264 | MPEG-LA | ||
---|---|---|---|---|---|
Firefox | • | • | Mozilla | ||
Opera | • | • | Opera | ||
Chrome | • | • | |||
Safari | * | * | • | • | Apple |
IE9 | * | • | • | Microsoft |
<video controls width=824 height=352> <source src="sintel.webm" type='video/webm; codecs="vp8, vorbis"'> <source src="sintel.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> <source src="sintel.ogv" type='video/ogg; codecs="theora, vorbis"'> <!-- Maybe even Flash fallback here --> </video>
<figure itemscope itemtype="http://n.whatwg.org/work"> <img itemprop="work" src="aalto.jpeg"> <figcaption> <p itemprop="title">Aalto University</p> <p><small>Licensed under the <a itemprop="license" href="http://creativecommons.org/licenses/by-sa/3.0/"> Creative Commons Attribution-Share Alike 3.0 License</a>.</small> </figcaption> </figure>
Vocabulary | HTML5 | |
---|---|---|
Serialization | HTML5 | XHTML5 |
Media Type | text/html | a…n/xhtml+xml |
Parser | HTML | XML |
Tree API | DOM |
<!DOCTYPE html> <html> <head> <title>Hello World!</title> </head> <body> <h1>Hello World!</h1> <p>Foo</p> </body> </html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello World!</title> </head> <body> <h1>Hello World!</h1> <p>Foo</p> </body> </html>
10.2.4.10 Tag name state
Consume the next input character:
- U+0009 CHARACTER TABULATION
- U+000A LINE FEED (LF)
- U+000C FORM FEED (FF)
- U+0020 SPACE
- Switch to the before attribute name state.
- U+002F SOLIDUS (/)
- Switch to the self-closing start tag state.
- U+003E GREATER-THAN SIGN (>)
- Switch to the data state. Emit the current tag token.
- U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z
- Append the lowercase version of the current input character (add 0x0020 to the character's code point) to the current tag token's tag name.
- U+0000 NULL
- Parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current tag token's tag name.
- EOF
- Parse error. Reconsume the EOF character in the data state.
- Anything else
- Append the current input character to the current tag token's tag name.
Source: http://www.whatwg.org/specs/web-apps/current-work/
Python Ruby Java C JavaScript C# (C++)
The solution for quadratic equations is .
Warning: Remember that ± means that there are two solutions!
<p>The solution for quadratic equations is <math> <!-- ... --> <mfrac> <mrow> <mo>−</mo> <!-- ... --> </math>.</p> <p><svg viewBox='5 9 90 86'> <path d='M 10,90 L 90,90 L 50,14 Z'/> <line x1=50 x2=50 y1=45 y2=75 /> </svg><b>Warning:</b> Remember that ± means that there are two solutions!</p>
postMessage(message, targetOrigin);
addEventListener("message", func, false);
postMessage()