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
Brad Montgomery
June 14, 2017
Technology
0
62
html - back to basics
Presented at the Memphis WebWorkers meetup, June 2016.
http://memphiswebworkers.com/
Brad Montgomery
June 14, 2017
Tweet
Share
More Decks by Brad Montgomery
See All by Brad Montgomery
Fun with Markov Chains (DevSpace 2016)
bkmontgomery
0
170
Django - A Whirlwind Tour 2016
bkmontgomery
0
170
(more) Fun with Markov Chains
bkmontgomery
0
85
Context Managers
bkmontgomery
0
120
A quick look at Redis
bkmontgomery
1
110
Fun with Markov Chains
bkmontgomery
1
450
python decorators
bkmontgomery
0
290
Building GIS Web Apps with Python & Django
bkmontgomery
3
1k
My Startup Failed and it's all Marketing's Fault
bkmontgomery
0
430
Other Decks in Technology
See All in Technology
データとAIで明らかになる、私たちの課題 ~Snowflake MCP,Salesforce MCPに触れて~ / Data and AI Insights
kaonavi
0
210
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
0
390
어떤 개발자가 되고 싶은가?
arawn
1
350
.NET 10のBlazorの期待の新機能
htkym
0
170
Okta Identity Governanceで実現する最小権限の原則
demaecan
0
230
【SORACOM UG Explorer 2025】さらなる10年へ ~ SORACOM MVC 発表
soracom
PRO
0
200
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
140
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
520
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
5.3k
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
7
1.7k
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
410
CLIPでマルチモーダル画像検索 →とても良い
wm3
2
710
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Typedesign – Prime Four
hannesfritz
42
2.8k
Docker and Python
trallard
46
3.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
630
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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)