Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
html - back to basics
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Brad Montgomery
June 14, 2017
Technology
73
0
Share
html - back to basics
Presented at the Memphis WebWorkers meetup, June 2016.
http://memphiswebworkers.com/
Brad Montgomery
June 14, 2017
More Decks by Brad Montgomery
See All by Brad Montgomery
Fun with Markov Chains (DevSpace 2016)
bkmontgomery
0
190
Django - A Whirlwind Tour 2016
bkmontgomery
0
200
(more) Fun with Markov Chains
bkmontgomery
0
110
Context Managers
bkmontgomery
0
140
A quick look at Redis
bkmontgomery
1
130
Fun with Markov Chains
bkmontgomery
1
480
python decorators
bkmontgomery
0
320
Building GIS Web Apps with Python & Django
bkmontgomery
3
1.1k
My Startup Failed and it's all Marketing's Fault
bkmontgomery
0
460
Other Decks in Technology
See All in Technology
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
9
6.9k
QA組織のAI戦略とAIテスト設計システムAITASの実践
sansantech
PRO
1
260
Tour of Agent Protocols: MCP, A2A, AG-UI, A2UI with ADK
meteatamel
0
160
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
160
DMBOKを使ってレバレジーズのデータマネジメントを評価した
leveragestech
0
490
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
220
最大のアウトプット術は問題を作ること
ryoaccount
0
140
AI時代のIssue駆動開発のススメ
moongift
PRO
0
310
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
230
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
130
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
250
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
100
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
190
Tell your own story through comics
letsgokoyo
1
870
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
91
Visualization
eitanlees
150
17k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
220
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
260
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
260
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
Transcript
html <webworkers june=“2017”> <back to basics /> <brad montgomery/> </webworkers>
a short history
Tim Berners-Lee https://www.w3.org/People/Berners-Lee/
html 5.1 2016-11-01
html5 2014-10-28
xhtml 2.0 abandoned for html5 thanks to the WHATWG 2004
- 2010
xhtml 1.1 2010-11-23
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
“http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> … </html>
xhtml 1.0 XHTML™ 1.0 The Extensible HyperText Markup Language (Second
Edition) 2002-08-01
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"
lang="en" xml:lang="en"> … </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"
lang="en" xml:lang="en"> … </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"
lang="en" xml:lang="en"> … </html>
html 4.01 1999-12-24
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" “http://www.w3.org/TR/html4/strict.dtd”> <HTML> <HEAD> <TITLE>My
first HTML document</TITLE> </HEAD> <BODY> <P>Hello world! </BODY> </HTML>
html 3.2 1997-01-14
html 2? html 1? There are suddenly no links for
these specs. http://memtech.website/~bkmontgomery/
html == html5.1 <!doctype html>
<!doctype html> <html> <head> <title>Example</title> <base href=“http://example.com/"> <meta charset="utf-8"> <meta
name="description" content="Actual description"> </head> <body> </body> </html>
the rules ok, just my rules
None
Mind your <head> Use unique content for your <title> Write
a decent <meta name=“description” …> Declare a <base> tag.
headings Headings (<h1> - <h6>) imply an hierarchy. They have
meaning (semantics). Don’t use them for “text size”. Don’t skip sizes. Shoot for a single <h1>.
headings (with ids) Give your headings an id. It’s always
awesome. <h1 id=“the-beginning”>The Beginning</h1>
structure Make use of content sectioning elements: <nav> <header> <section>
<article> <aside> <figure> <footer>
css is for style Keep your html as clean as
possible (I know, I know). Try to avoid style attributes.
Beware the </div> How to build a slick marketing page:
1. Copy something from StartBootstrap 2. Strip out all the placeholder text. 3. Change the color scheme in CSS. 4. Publish, FTW!
validate Why in the world is HTML validation not built
into every single browser? Use the w3’s validator service or a browser extension.
be semantic The stuff in <html> describes a document. Everything
has meaning (or it should).
accessibility We should all learn more. Check out WAI-ARIA &
Section 508.
so… assuming html 5 what’s wrong with this code?
what’s wrong? <body> <div> <h2>Hello. </h2> <h5>there</h5> </div> </body>
what’s wrong? <p>Here's a <b>bold statement</b></p>
what’s wrong? <p> <font face="verdana" color=“green"> This is some text!</font>
</p>
what’s wrong? <i> <p>This paragraph is in italics!</p> </i>
what’s wrong? <big> <p>This paragraph is in italics!</p> </big>
what’s wrong? <center> This text will be centered. <p>So will
this paragraph.</p> </center>
what’s wrong? <button> <h1>Download our Ebook</h1> </button>
what’s wrong? <p><em>Yep</p></em>
what’s wrong? <p><div> Here's a div for you</div></p>
what’s wrong? <img src="http://lorempixel.com/640/480/cats">
what’s wrong? <a href=“?a=1&b=2">click me</a>
what’s wrong? <ul> <li>Do this first.</li> <li>Then do this thing.
</li> <li>Finish with this.</li> </ul>
what’s wrong? <form action="" method="get"> <p> <input type="radio" name="thing"> you
want this thing? </p> </form>
what’s wrong? <table> <hr> <tr> <td>column 1</td> <td>column 2</td> </tr>
</table>
what’s wrong? <video src="videofile.webm" autoplay poster="posterimage.jpg"></video>
what’s wrong? <p> <strong>Term:</strong> Here's a description for the meaning
of this Term. </p> <p> <strong>Other Term:</strong> Here's the meaning of this Other Term. </p>
what’s wrong? <div style="text-align:center"> This text will be centered. <p>So
will this paragraph.</p> </div>
what’s wrong? <script defer> console.log("Why won't this ever run!?"); </scrip>
what’s wrong? <a href="/report/" download=“report.pdf"> Download our Report </a>
what’s wrong? <dialog open> <p>Hello World!</p> </dialog>
what’s wrong? <details> <summary>Some details</summary> <p>More info about the details.</p>
</details>
what’s wrong? <body> <nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation"> <div
class="container topnav"> <div class="navbar-header"> <a class="navbar-brand topnav" href="#">Start Bootstrap</a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <!-- snipped... --> </div> </div> </nav> <a name="about"></a> <div class="intro-header"> <div class="container"> <div class="row"> <div class="col-lg-12"> <div class="intro-message"> <h1>Landing Page</h1> </div> </div> </div> </div> </div> </div> </body>
tools • W3 Validator • HTML 5.1 Spec • MDN
HTML Element Reference • MDN: Learn HTML • Validity Extension for Chrome • html-tidy (or brew install tidy-html5)