HELLO
Awesome illustrations by
Burnt Toast Creative
Slide 2
WHY ARE WE
TALKING HTML?
Slide 3
@MANDY_KERR
HTML IS
SIMPLE
Slide 4
@MANDY_KERR
WE MAKE THE MISTAKE OF
ASSUMING BECAUSE IT’S
SIMPLE IT’S NOT VALUABLE
Slide 5
@MANDY_KERR
IS THERE ANY VALUE
IN PEOPLE WHO
CANNOT WRITE
JAVASCRIPT?
Slide 6
THERE ARELOTS OF
OPINIONS
ON THE
MATTER
Slide 7
@MANDY_KERR
HTML CSS JS
Slide 8
@MANDY_KERR
FUNCTIONAL HTML
Slide 9
@MANDY_KERR
I’M JUST MAKING
IT FUNCTIONAL
RIGHT NOW
”
“
Slide 10
@MANDY_KERR
MAKING
THINGS
PRETTY
Slide 11
@MANDY_KERR
: designed to be practical and useful, rather than attractive
: working properly
FUNCTIONAL
ADJECTIVE
FUNC·TION·AL
ˈ
F
ƏŊ
(K)-SHN
Ə
L, -SH
Ə
N-
ᵊ
L \
Slide 12
@MANDY_KERR
HOW THE BROWSER
INTERPRETS HTML
Slide 13
@MANDY_KERR
Slide 14
@MANDY_KERR
Slide 15
@MANDY_KERR
Slide 16
@MANDY_KERR
<
html
…
<
body
<
header
<
h1
Some text
</
h1
</
header
<
p
A paragraph…
</
p
<
ul
<
li
A list item
</
li
<
li
Another item
</
li
</
ul
<
p
More content…
</
p
<
hr
….
Slide 17
@MANDY_KERR
WHY DOES THIS
MATTER?
Slide 18
@MANDY_KERR
TYPE
SCRIPT
Slide 19
@MANDY_KERR
interface
dog
{
name
:
string
age
:
number
isFluffy
:
boolean
}
Slide 20
@MANDY_KERR
WE DETERMINE
WHAT WE EXPECT
THE CONTENT
TO BE
Slide 21
@MANDY_KERR
<
html
<
body
<
header
<
h1
Dogs: They are good
</
h1
</
header
<
main
<
h2
Why are dogs good?
</
h2
<
p
All dogs are good, they are the goodest doggies.
</
p
<
figure
<
img
href
"dog.png"
alt
"A golden retriever"
/>
<
figcaption
Michaelangelo AKA "Jello"
</
figcaption
</
figure
</
main
</
body
</
html
Slide 22
@MANDY_KERR
interface
dog
{
name
:
any
age
:
any
isFluffy
:
any
}
Slide 23
@MANDY_KERR
<
html
<
body
<
div
<
div
Dogs: They are good
</
div
</
div
<
div
<
div
Why are dogs good?
</
div
<
p
All dogs are good, they are the goodest doggies.
</
p
<
div
<
img
href
"dog.png"
alt
"A golden retriever"
/>
<
div
Michaelangelo AKA "Jello"
</
div
</
div
</
div
</
body
</
html
Slide 24
@MANDY_KERR
JUST <DIV>
@MANDY_KERR
Slide 25
@MANDY_KERR
SEMANTICS
Slide 26
@MANDY_KERR
NOT
EVERYONE
INTERACTS
THE SAME
Slide 27
@MANDY_KERR
ASSISTIVE
SEARCH
APPS
BROWSER
Slide 28
@MANDY_KERR
ASSITIVE
TECH
Slide 29
@MANDY_KERR
ACCESSIBILITY TREE
Slide 30
@MANDY_KERR
Slide 31
@MANDY_KERR
WHAT DOES IT SOUND LIKE?
Slide 32
@MANDY_KERR
Slide 33
@MANDY_KERR
Slide 34
@MANDY_KERR
Slide 35
@MANDY_KERR
Slide 36
@MANDY_KERR
Slide 37
@MANDY_KERR
Don’t just
use divs.
Slide 38
@MANDY_KERR
…TO BUILD FOR PEOPLE AND THE
LONG TERM, THEN SIMPLE,
STRUCTURAL, SEMANTIC HTML
WAS BEST—EACH ELEMENT
DEPLOYED FOR ITS
INTENDED PURPOSE
…
JEFFERY ZELDMAN
”
“
Slide 39
@MANDY_KERR
USE SECTIONING
ELEMENTS
Slide 40
@MANDY_KERR
Use sectioning elements
<section> <article>
<nav>
<aside>
Slide 41
@MANDY_KERR
Use sectioning elements
<section> <article>
<nav>
<aside>
Slide 42
@MANDY_KERR
Use sectioning elements
<section> <article>
<nav>
<aside>
Slide 43
@MANDY_KERR
Use sectioning elements
<section> <article>
<nav>
<aside>
Slide 44
@MANDY_KERR
CLEAR STRUCTURE
& HIERARCHY
Slide 45
@MANDY_KERR
If you have headings, use the
heading elements.
<h1> <h2> <h3>
<h4> <h5> <h6
>
Slide 46
@MANDY_KERR
If you have a header,
use the
<header>
element
<
header
>
This is a header
</
header
>
Slide 47
@MANDY_KERR
MAKE THE MOST
OF BUILT-IN
FUNCTIONALITY
Slide 48
@MANDY_KERR
If you need a link,
use the
<a>
element
Slide 49
@MANDY_KERR
If you need a button, use the
<button>
element
Slide 50
@MANDY_KERR
When to use a
<button>
vs
<a>
?
Slide 51
@MANDY_KERR
COMBINE ELEMENTS
FOR IMPROVED CONTEXT
Slide 52
@MANDY_KERR
If you have images,
illustrations and diagrams use the
<figure>
&
<figcaption>
element
s*
*not every image etc
is a figure
Slide 53
@MANDY_KERR
If you need pre-formatted text
use the
<pre>
e
lement
Slide 54
@MANDY_KERR
The
<abbr>
and
<dfn>
e
lements
Slide 55
@MANDY_KERR
<
p
The
<
dfn
<
abbr
title
="
International Good
Dog Association
">IGDA</
abbr
</
dfn
is an international,
not-for-profit organization responsible for determining