You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.




New Layout: HTML Tag Handling Chart

Authors: Rick Gessner
Updated: 23 October 1998

[eds. note: This document extracted from email. Original message follows]
During a recent tag handling fest in the parser, it occured to me that we don't have a "how to handle tag x" document. So I've created a the following table of HTML tags and how we handle them in the parser. I needed this for debugging purposes, and others may benefit from it during testing.

Anyway, it's a work in progress, so send me issues.

-Rick

A
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
a
x
x
x
 
abbr
x
x
x
 
acronym
x
x
x
 
address
x
 
x
 
applet
x
x
x
x
area <map>      

B
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
Head 
Content
Other Content
b
x
x
x
     
base <head>          
basefont
x
 
x
x
   
bdo
x
x
x
     
bgsound
<head>+x
x
       
big
x
x
x
     
blink
x
x
x
     
blockquote
x
x
x
   
body
<html>, <noframe>
 
x
x
  del, ins
br
x
x
       
button
x
x
x
x
   
.
.
. ...
.
.
.
.
.

C
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
caption table  
x
 
center
x
 
x
x
cite
x
x
x
 
code x
x
x
 
col colgroup, table      
colgroup table   col  

D
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
dd dl  
*
x
del body  
x
x
dfn
x
x
x
 
dir
x
  li  
div
x
 
x
x
dl
x
  dd, dt  
dt dl  
x

E
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
em
x
x
x
 
embed
x
x
param+x
x
.
.
.
.
.

F
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
fieldset
x
 
legend+x
x
font
x
x
x
 
form
x
 
keygen+x
x
frame
frameset
     
frameset frameset, html   frame, frameset, noframes  

G
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
         
         

H
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
Head
Content
head <html>      
x
hr
x
       
html     body, frameset, head    
hx
x
 
x
   
.
.
.
.
.
.
.
.
.
.
.

I
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
Head 
Content
i
x
x
x
   
iframe
x
x
x
x
 
ilayer
x
x
x
 
img
x
x
     
ins
body
 
x
x
 
isindex
head+x
       

J
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
         
         

K
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
kbd
x
x
x
 
keygen
form
     

L
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
Head 
Content
label
x
x
x
   
layer
x
 
x
x
 
legend
fieldset
 
x
   
li  
x
x
(if inside ol/ul)
 
link
head
       
listing          

M
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
Head 
Content
map
x
x
area
   
marquee
x
 
x
x
 
menu
x
 
li
   
meta
head
       
multicol
x
 
x
x
 

 
 

N
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
Head 
Content
nextid
head
       
nobr
x
x
x
   
noembed
x
x
x
 
noframes
frametset+x
 
body+x
x
 
nolayer
x
x
x
 
noscript
x
 
x
x
 

O
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
object
x
x
param+x
x
ol
x
 
li
 
optgroup
select, optgroup
 
option, optgroup
 
option
optgroup, select
 
text
 
.
.
.
.

P
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
p
x
x
 
param
applet, object
     
plaintext        
pre
x
x*
 

*Exceptions:
applet, basefont, big, blink, font, iframe, img, nobr, object, small, sub, sup

Q
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
q
x
x
x
 

S
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
Head 
Content
s
x
x
x
   
samp
x
x
x
   
script
head+x
x
text
   
select
x
x
optgroup, option
   
small
x
x
x
   
sound
head+x
x
     
spacer
x
x
     
span
x
x
x
   
strike
x
x
x
   
strong
x
x
x
   
style
head
 
text
   
sub
x
x
x
   
sup
x
x
x
   

T
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
Head 
Content
table
x
 
caption, col,colgroup, tr, thead, tbody, tfoot
   
tbody
table
 
tr
   
td
tr
 
x
x
 
textarea
x
x
text
   
tfoot
table
 
tr
   
th
tr
 
x
x
 
thead
table
tr
   
title
head
 
text
   
tr
table, tbody, thead, tfoot
 
th, td
   
tt
x
x
x
   

U
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
u
x
x
x
 
ul
x
 
li
 

VWX!
 
Tag
Block 
Parent
Inline 
Parent
Inline 
Content
Block 
Content
var
x
x
x
 
 wbr
 x
 x
   
xmp
!doctype
html
!--